objective-c - 与@encode相反

标签 objective-c encoding types objective-c-runtime

@encode 有相反的运算符吗?

例如,当您这样做时:@encode(int),您会得到"i"。我希望能够这样做:@decode("i") myInt = 5;

这可能吗?是否存在处理此问题的运算符(operator)?

最佳答案

没有。 @encode 采用一个类型,而在 C 中,不可能返回一个类型。 (typeof() 运算符是 GNU 扩展,但它不采用 C 字符串,因此您想要的是不可能的。

您有两个选择。一:重新设计你的代码。如果您需要这个,您可能遇到了设计问题。

第二,使用动态内存分配并编写您自己的函数,该函数采用字符串类型并相应地分配内存。

关于objective-c - 与@encode相反,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13903391/

相关文章:

c - 我的二维数组之一出现段错误 (11)?

c++ - 编译器将浮点型变量转换为整型变量时会做什么?

ios - NSCoreData 条目获取的性能

ios - 使用 SFSpeechRecognizer 的正确方法?

ios - iOS后台调优后单例实例的生命周期

objective-c - 如何将下面 Objective-C 中的 JSON 转换为 Swift?

ios - 如何在 iOS 中使用自定义 url 方案传递信息(通过注释)?

java - sun.security.rsa.RSAPublicKeyImpl 的开源替代品

php - Mysql:latin1->utf8。将字符转换为其多字节等价物

types - 获取无参数类型