objective-c - @encode 编译器指令在 Objective-C 中是如何实现的?

标签 objective-c c c-preprocessor encode implementation

谁能解释@encode 如何将给定对象、结构或数据类型中存在的数据类型元素提取到类型定义中,以用作实例化的类描述符?

或者可能指向一些资源的指针以了解新预处理器指令的实现?

最佳答案

@encode指令解析提供的类型并生成基于该类型的常量字符串。所有 C 原始类型(包括有符号和无符号版本)和 Objective-C 的编码 idSEL类型都有单字符编码,这些可以在 <objc/runtime.h> 中找到.更复杂的类型,例如 struct s 和数组具有更大的编码。

有关更多信息,请参阅 Objective-C Runtime Programming Guide [PDF].

关于objective-c - @encode 编译器指令在 Objective-C 中是如何实现的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2247294/

相关文章:

c - 如何对预处理器(宏)进行类型转换以输出 int

objective-c - cocoa objective-c : Change background color of custom view

ios - OS X/iOS 和 TCP : Why CFSocketSendData crashes application if called after connection is reset?

objective-c - 为什么 Apple 的 NSURLConnectionDelegate 协议(protocol)引用文档似乎缺少内容?

c - 预处理器宏 : any way to get a unique variable name and reuse it?

c - C语言中如何通过字符串打开文件

objective-c - 检查 NavigationItem.title 是否等于 @"part"

c - 我自己声明wchar_t

c - 解释一下下面代码的输出?

C 全局函数(非 C++)