美文网首页
iOS Category添加属性

iOS Category添加属性

作者: 静守幸福 | 来源:发表于2021-01-30 09:57 被阅读0次

原则上讲它只能添加方法, 不能添加属性(成员变量),实际上可以通过其它方式添加属性(Runtime)。

举个例子,给系统UIButton添加个model 属性 新建个分类文件
.h文件


@interface UIButton (Property)

@property(nonatomic, strong) id model;

@end

.m文件 需要导入runtime头文件

#import "UIButton+Property.h"
#import <objc/runtime.h>

@implementation UIButton (Property)

- (void)setModel:(id)model{
    objc_setAssociatedObject(self, @selector(model), model, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}

- (id)model{
    return objc_getAssociatedObject(self, _cmd);
}

@end

相关文章

网友评论

      本文标题:iOS Category添加属性

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