OC对象给分类加入属性

Posted blfbuaa

tags:

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

OC对象中不能给分类加入属性。可是在实际开发中。常常为了更好的性能须要给分类加入属性,那么

加入的属性不能有默认的成员变量。须要我们自己实现set和get方法,要用到执行时

例如以下:

#import <objc/runtime.h>


//执行时的关联对象。动态加入属性

const void *URLStringKey = "URLStringKey";

//set方法

- (void)setUrlStr:(NSString *)urlStr

{

    objc_setAssociatedObject(self, URLStringKey, urlStr, OBJC_ASSOCIATION_COPY_NONATOMIC);

}

//get方法

- (NSString *)urlStr

{

    return objc_getAssociatedObject(self, URLStringKey);

}



以上是关于OC对象给分类加入属性的主要内容,如果未能解决你的问题,请参考以下文章

[OC学习笔记]分类和关联对象源码解析

[OC学习笔记]分类和关联对象源码解析

给分类(Category)添加属性

OC中对象的复制:一

OC中对象的复制:一

OC底层Category+load方法+initialize方法原理