简介
- KVO 与KVC 是 充分利用了objective-c 动态语言特性的一种机制
KVO(同步运行)
//注册通知
- (void)addObserver:(NSObject *)anObserver
forKeyPath:(NSString *)keyPath
options:(NSKeyValueObservingOptions)options
context:(void *)context
//接受通知,做出回应
- (void)observeValueForKeyPath:(NSString *)keyPath
ofObject:(id)object
change:(NSDictionary *)change
context:(void *)context
KVC
@property (nonatomic, copy) NSString *name;
//取值
NSString *n = [object valueForKey:@"name"]
//赋值
[object setValue:@"Daniel" forKey:@"name"]
//KVC 同样允许我们通过关系来访问对象。假设 person 对象有属性 address,address 有属性 city,我们可以这样通过 person 来访问 city:
[person valueForKeyPath:@"address.city"]
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。