我正在阅读
苹果关于 Objective-C 运行时类型编码字符串的文章 https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Articles/ocrtTypeEncodings.html有些方法的类型字符串中有数字。
里面的数字是什么意思v12@0:4@8
mean?
这看起来像 setter 方法的编码,如下所示:
- (void) setSomething:(id) anObject
分解它:
-
v
表示返回类型为void
-
12
表示参数帧的大小(12 字节)
-
@0
意味着在参数帧的字节偏移 0 处有一个 Objective-C 对象类型(这是隐式的self
每个 Objective-C 方法中的对象)
-
:4
意味着在字节偏移 4 处有一个选择器(这是隐式的_cmd
在每个方法中,这是用于调用该方法的选择器)。
-
@8
意味着在字节偏移 8 处还有另一个 Objective-C 对象类型。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)