为category添加属性和成员变量,有需要的朋友可以参考下。
Category可以在不改变类结构的情况下为已有的类添加方法,但是Category不运行添加属性和成员方法,这可以用<objc/runtime.h>中的objc_setAssociatedObject(id
object, const void *key,id value,
objc_AssociationPolicy policy)和id objc_getAssociatedObject(id
object,constvoid
*key)方法进行对象关联,从而可以通过Category为已有类添加属性和成员变量。
下面通过一个简单的例子来演示怎么通过关联对象来为Category添加属性和成员变量
UIViewController+CustomCategory.h
W WW.002pc .COM对《宅男电脑配置为category添加属性和成员变量》总结来说,为我们学习电脑基础很实用。
@interface UIViewController (CustomCategory) @property (nonatomic, strong) NSString *identifer; @end
UIViewController+CustomCategory.m
#import "UIViewController+CustomCategory.h"
#import <objc/runtime.h>
static void *identifierKey = @"identiferKey";
@implementation UIViewController (CustomCategory)
- (void)setIdentifer:(NSString *)identifer {
objc_setAssociatedObject(self, identifierKey, identifer, OBJC_ASSOCIATION_COPY_NONATOMIC);
}
- (NSString *)identifer {
return objc_getAssociatedObject(self, identifierKey);
}
@end通过这样UIViewController就会有identifer的属性了。
更多:宅男电脑配置为category添加属性和成员变量
https://www.002pc.com/diannaojichu/109.html
你可能感兴趣的category,添加,属性,变量,成员
