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表示copyN表示nonatomicV表示variable变量,即下划线变量_nickName
更多的可以查看官网的以下列表