iOS默认不支持KVO的形式来监听数组的变化,数组改变的时候,只是数组里面的值变化,但数组的地址没有变化,KVO监听的对象地址的变化
由于不支持KVO来监听数组变化,就无法使用RAC来监听数组
监听数组变化的方法
1.构造一个监听数组变化的signal
RACSignal *ss = [[RACObserve(self, aaa) merge:self.aaa.rac_sequence.signal] map:^id(id value) {
return @(self.aaa.count > 0);
}];
2 . 数组变化触发对应signal
这种方式并不会触发signal
[self.aaa addObject:@"ddd"];
这种方式才会
[[self mutableArrayValueForKey:@"aaa"] addObject:@"ddd"];
网友评论