让Category支持添加属性与成员变量
来源:互联网 发布:轻便婴儿车推荐 知乎 编辑:程序博客网 时间:2024/06/05 04:56
Category是Objective-C中常用的语法特性,通过它可以很方便的为已有的类来添加函数。但是Category不允许为已有的类添加新的属性或者成员变量。
上面是头文件声明,下面的实现的.m文件:
一种常见的办法是通过runtime.h中objc_getAssociatedObject / objc_setAssociatedObject来访问和生成关联对象。通过这种方法来模拟生成属性。
//NSObject+IndieBandName.h@interface NSObject (IndieBandName)@property (nonatomic, strong) NSString *indieBandName;@end
上面是头文件声明,下面的实现的.m文件:
// NSObject+IndieBandName.m #import "NSObject+Extension.h"#import <objc/runtime.h>static const void *IndieBandNameKey = &IndieBandNameKey; @implementation NSObject (IndieBandName)@dynamic indieBandName;- (NSString *)indieBandName { return objc_getAssociatedObject(self, IndieBandNameKey);}- (void)setIndieBandName:(NSString *)indieBandName{ objc_setAssociatedObject(self, IndieBandNameKey, indieBandName, OBJC_ASSOCIATION_RETAIN_NONATOMIC);}@end
0 0
- 让Category支持添加属性与成员变量
- 让Category支持添加属性与成员变量
- 让Category支持添加属性与成员变量
- 让Category支持添加属性与成员变量
- 让Category支持添加属性与成员变量
- 让Category支持添加属性与成员变量【转载】
- 让Category支持添加属性与成员变量
- Category支持添加属性与成员变量
- 日常笔记之一 -- 让Category支持添加属性与成员变量
- Category添加属性与成员变量
- Category支持添加成员变量
- 59.通过 runtime为Category添加属性与成员变量
- 为category添加属性和成员变量
- category添加成员变量
- iOS Category中添加属性和成员变量的区别
- ios类别(category)不能添加成员变量但是可以添加属性的问题
- Category中的属性和成员变量
- [Objective-C] 通过匿名category给category添加成员变量
- Android xml资源文件中@、@android:type、@*、?、@+含义和区别
- 234. Palindrome Linked List(判断链表是不是回文的)
- MapReduce之多MapReduce执行
- android中的Stack
- 常用git命令
- 让Category支持添加属性与成员变量
- spring profile
- Codeforces Round #361 (Div. 2) 题解
- Hibernate\Struts2\Spring
- SVM基本思想及应用
- java 在windows环境 android环境 linux环境对7z包的解压缩
- php保留小数
- AndroidStudio中如何获取SHA1
- iOS加载Gif图片的N种方式