clang中的方法签名
clang中编译后,方法列表的这些字符的含义是什么
以@16@0:8
为例
- @16表示返回字符串占用16个字节 -- 第二个
@
占8
字节,sel
占8
字节第一个@
表示返回值
16
表示 总共占用的字节数16
字节- 第二个@:第一个参数
- id -- @ 统配类型
- typedef struct objc_object *id
- 0 -- 从0开始 0-8
- : -- 代表sel,方法编号
- 8 -- 8-16
- 而v24@0:8@16中的 v -- void 无返回值
更多的可以查看官网的以下列表
clang编译后的属性的attribute
clang编译输出了属性的attribute
,同样也可以通过property_getAttributes
方法获取
T
表示type
@
表示变量类型
C
表示copy
N
表示nonatomic
V
表示variable
变量,即下划线变量_nickName
更多的可以查看官网的以下列表