给category添加属性的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了给category添加属性的方法相关的知识,希望对你有一定的参考价值。

默认类别时无法添加属性的,但可以动态添加,利用runtime机制

#import

static const void * externVariableKey =&externVariableKey;

@implementation NSObject (Category)

@dynamic variable;

- (id) variable

{

       return objc_getAssociatedObject(self, externVariableKey);

}

- (void)setVariable:(id) variable

{

    objc_setAssociatedObject(self, externVariableKey, variable, OBJC_ASSOCIATION_RETAIN_NONATOMIC);

以上是关于给category添加属性的方法的主要内容,如果未能解决你的问题,请参考以下文章

iOS的Runtime机制下给类别(category)添加属性替换原有类的方法执行

category中添加属性的简单方式

OC为啥 Category不能添加属性

iOS类别(category)不能添加成员变量但是可以添加属性的问题

Catogory如何添加属性

iOS动态性:动态添加属性的方法——关联(e.g. 向Category添加属性)