关于cocoa 运行时runtime

关于cocoa 分类,我们经常看到这样一种说法,分类不能有自己的属性变量

先看个常见的例子

当把NSString *ptx; 写到class extension中,这样编码 ok的,不会出现任何警告和编译错误

继续看

当把NSString *ptx; 写到class category中,这样编码 直接爆红了!!!

Use of undeclared identify '_ptx'  ? 这也就验证了上面的结论 分类不能有自己的属性变量

继续 (传说过 objective-c 是一门真正的动态语言)

由于objc_getAssociatedObject 和 objc_setAssociatedObject 这2个c函数 定义在runtime.h中

你需要#import <objc/runtime.h>

 

posted @ 2015-11-22 12:52  XZoscar  阅读(249)  评论(0编辑  收藏  举报