IOS在类别中添加属性
2014-08-08 21:37
197 查看
通过
objc_getAssociatedObject 添加属性 和
objc_setAssociatedObject 获取值
需要#import<objc/runtime.h>
objc_getAssociatedObject 添加属性 和
objc_setAssociatedObject 获取值
需要#import<objc/runtime.h>
#import <Foundation/Foundation.h> #import "Person.h" #import "Person+Add.h" int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... NSLog(@"Hello, World!"); Person *person = [[Person alloc] init]; person.name = @"张三"; [person setType:@"NSString *"]; [person setValue:@"hehe"]; NSLog(@"%@", [person value]); [person print]; } return 0; }
#import <Foundation/Foundation.h> @interface Person : NSObject @property (nonatomic, copy)NSString *name; @end
#import "Person.h" @implementation Person @end
#import "Person.h" @interface Person (Add) - (void)print; - (void)setType:(NSString *)type; - (void)setValue:(id)value; - (id)value; @end
#import "Person+Add.h" #import <objc/runtime.h> @implementation Person (Add) static NSString *typeStr; - (void)print { NSLog(@"%@", self.name); } - (void)setType:(NSString *)type { typeStr = type; } - (void)setValue:(id)value { objc_setAssociatedObject(self, (__bridge const void *)(typeStr), value, OBJC_ASSOCIATION_RETAIN_NONATOMIC); } - (id)value { id pro = objc_getAssociatedObject(self, (__bridge const void *)(typeStr)); return pro; } @end
相关文章推荐
- iOS学习之利用关联对象让类别有添加属性效果
- iOS 给类别(Category)添加weak (property)属性,关联(Associated)
- iOS通过rumtime给类别添加动态属性
- iOS 给类别里面添加属性
- iOS类别(category)不能添加成员变量但是可以添加属性的问题
- iOS Runtime应用实例(一)类别添加属性
- iOS为类别添加属性的方法(RunTime)
- iOS 如何给类别添加属性
- iOS 类别 ---不能添加属性
- IOS类别通过关联对象添加属性
- ios类别(category)不能添加成员变量但是可以添加属性的问题
- iOS 运行时添加属性和方法
- 为类目(类别)添加属性,使用storyboard设置边框颜色(转载)
- iOS给UIButton添加类别,批量添加Button
- iOS 运行时添加属性和方法
- Objective-C 给类别添加属性(通过@dynamic和objc_setAssociatedObject实现)
- iOS在分类中添加属性,运行时编程,objc runtime 动态增加属性
- 关于在类别中添加属性
- ios动态添加属性的几种方法
- iOS 运行时添加属性和方法