使用RAC/KVO监听数组的变化

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"];

你可能感兴趣的:(使用RAC/KVO监听数组的变化)