美文网首页
iOS监听控制器数组变化

iOS监听控制器数组变化

作者: 阿朋哥哥 | 来源:发表于2017-04-13 16:28 被阅读0次

用KVC监听viewcontroller的数组变化,在控制器里面有一个可变数组属性

若是用KVO监听数组mArray

在viewdidload方法里面写

[self addObserver:self forKeyPath:@"mArray" options:NSKeyValueObservingOptionOld context:nil];

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary*)change context:(void *)context{

NSString *str = [self.mArray lastObject];

DLog(@"%@",str);

}

若只是这样写,数组添加删除元素都不会监听到数组的变化。

若是要监听数组的变化就要进一步完成系统为我们生成的方法,一个是insert方法,一个是remove方法

同时给数组添加元素时不再是使用 addObject:方法,而是使用insertObject:(id)object inMArrayAtIndex:(NSUInteger)index方法,只有这样才会监听到数组的变化。

这样当mArray元素添加删除时,都会监听到数组的变化

最后不忘移除监听

相关文章

网友评论

      本文标题:iOS监听控制器数组变化

      本文链接:https://www.haomeiwen.com/subject/rpwbattx.html