美文网首页
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