KVO监听数组的变化
2015-01-29 14:58
309 查看
#import "ViewController.h" @interface ViewController () @property(nonatomic,strong)NSMutableArray *dataArray; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; _dataArray=[NSMutableArray array]; [self addObserver:self forKeyPath:@"dataArray" options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:NULL]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; } -(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { if ([keyPath isEqualToString:@"dataArray"]) { NSLog(@"---change=%@---",change); NSLog(@"dataArray.count=%ld",_dataArray.count); } } //添加 - (IBAction)addBtnClick:(UIButton *)sender { [[self mutableArrayValueForKeyPath:@"dataArray"] addObject:@"3"]; } //移除 - (IBAction)deleteBtnClick:(UIButton *)sender { [[self mutableArrayValueForKeyPath:@"dataArray"] removeObject:@"3"]; } -(void)removeObserver:(NSObject *)observer forKeyPath:(NSString *)keyPath context:(void *)context { [self removeObserver:self forKeyPath:@"dataArray" context:context]; } -(void)insertObject:(id)object inDataArrayAtIndex:(NSUInteger)index { [self.dataArray insertObject:object atIndex:index]; } -(void)removeObjectFromDataArrayAtIndex:(NSUInteger)index { [self.dataArray removeObjectAtIndex:index]; } @end
相关文章推荐
- KVC 和 KVO 监听容器类(数组等)的变化
- KVC和KVO实现监听容器类(数组等)的变化
- iOS: 使用KVO监听控制器中数组的变化
- 【iOS】KVO方式监听数组的变化动态刷新tableView
- KVO方式监听数组的变化动态刷新tableView
- iOS: 使用KVO监听控制器中数组的变化
- 【iOS】KVO方式监听数组的变化动态刷新tableView
- 监听Array数组内容变化
- JS 对象与数组的变化监听
- 合格前端系列第四弹-如何监听一个数组的变化
- KVO: 一个类监听自己的属性(成员变量)的变化
- 利用KVO监听属性值的变化
- JS 对象与数组的变化监听
- vue2.0监听数组中对象属性的变化
- Vue监听数组变化源码解析
- iOS 监听数组的变化
- KVC/KVO 监听对象属性变化
- Android监听网络连接状态变化
- Angular.js中使用$watch监听模型变化
- iOS之键值编码(KVC)与键值监听(KVO)