RAC <五> 循环引用分析
RAC 可以接管iOS开发中所有的事件,之前文章也说过。虽然学习成本比较大,但是不用RAC的话,很多事件的写法都不太一样,东写一块,西写一块。 RAC 如何取代 KVO? @property ( nonatomic , strong ) Person * person ; - ( void ) viewDidLoad { [ super viewDidLoad ]; //RAC 如何取代 KVO self . person = [[ Person alloc ] init ]; //监听 name 属性的变化 两个参数 第一个监听对象是谁,第二个监听的属性 RACObserve ( self . person , name ); //一行代码完成 KVO的监听,而且不需要自己去取消监听,RAC已经帮忙做好了。 } 利用上节的查看运行原理: - (void)viewDidLoad { [super viewDidLoad]; self.person = [[Person alloc] init]; ({ __attribute__((objc_ownership(weak))) id target_ = (self.person); [target_ rac_valuesForKeyPath:@(((void)(__objc_no && ((void)self.person.name