美文网首页
让Category自动合成属性

让Category自动合成属性

作者: 初心丶可曾记 | 来源:发表于2019-03-15 15:01 被阅读0次

    最近写了一个小工具库,分类中添加的属性自动生成setter和getter并绑定ivar。平时我们要想实现给分类添加属性,需要用到runtime的两个apiobjc_setAssociatedObjectobjc_getAssociatedObject。导入我写的工具库后(拖入工程即可,无需#import),在.h文件写好属性后,给需要自动合成的属性在.m文件用@dynamic标记一下即可。用法如下:

    @interface NSObject (category)
    
    @property (nonatomic, strong) id cate_obj;
    @property (nonatomic, assign) int cate_number;
    
    @end
    
    @implementation NSObject (category)
    @dynamic cate_obj, cate_number;
    
    
    @end
    

    然后就可以正常使用了。

    目前支持的属性关键字有: assign,strong,weak,atomic,nonatomic

    支持的属性类型:
    1、intfloat等基本数据类型
    2、任何oc对象类型
    3、char *,void *指针类型
    4、oc中定义的结构体,CGRectCGSizeCGPoint, CGVector, CGAffineTransform, CATransform3D,NSRange, UIOffset, UIEdgeInsets,不支持自定义的结构体和联合体。

    下载地址:传送门,将AutoProperty目录下文件拖入到工程即可。

    相关文章

      网友评论

          本文标题:让Category自动合成属性

          本文链接:https://www.haomeiwen.com/subject/mwalmqtx.html