iOS默認(rèn)不支持KVO的形式來(lái)監(jiān)聽(tīng)數(shù)組的變化,數(shù)組改變的時(shí)候,只是數(shù)組里面的值變化,但數(shù)組的地址沒(méi)有變化,KVO監(jiān)聽(tīng)的對(duì)象地址的變化
由于不支持KVO來(lái)監(jiān)聽(tīng)數(shù)組變化,就無(wú)法使用RAC來(lái)監(jiān)聽(tīng)數(shù)組
監(jiān)聽(tīng)數(shù)組變化的方法
1.構(gòu)造一個(gè)監(jiān)聽(tīng)數(shù)組變化的signal
RACSignal *ss = [[RACObserve(self, aaa) merge:self.aaa.rac_sequence.signal] map:^id(id value) {
return @(self.aaa.count > 0);
}];
2 . 數(shù)組變化觸發(fā)對(duì)應(yīng)signal
這種方式并不會(huì)觸發(fā)signal
[self.aaa addObject:@"ddd"];
這種方式才會(huì)
[[self mutableArrayValueForKey:@"aaa"] addObject:@"ddd"];