KVO

作者: junden | 来源:发表于2016-08-18 23:05 被阅读0次

    属性监听器

    • 谁需要被监听,就调用addObserver:(被谁监听) forKeyPath:(监听哪个属性) options:NSKeyValueObservingOptionNew(枚举,需要监听新值还是旧值) context:nil];

    • 然后监听者在自己的类里面实现一个监听方法

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

      • change传入的是一个字典,里面存了当时需要监听的属性新值或旧值或者新旧值

    • 每次监听必须要的销毁方法中移出监听否则会出现内存问题

    • 自定义提示宏

    #define keyPath(objc,keyPath) @(((void)objc.keyPath,#keyPath))
    

    相关文章

      网友评论

          本文标题:KVO

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