自定义KVO

Posted coolcold

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自定义KVO相关的知识,希望对你有一定的参考价值。

下面来实现KVO自动销毁:(在合适的时候,自动移除观察者)

 

 

@implementation NSObject (FXKVO)

 

- (void)dealloc{

    //指回父类

    Class superClass = [self class];//KVOStudent

    object_setClass(self, superClass);

}

 

这里出现一个问题,就是VC在销毁时候dealloc方法不调用:

原因是dealloc会被所有NSObject的对象调用,相当于修改了系统方法,所以这样写是不对的

以上是关于自定义KVO的主要内容,如果未能解决你的问题,请参考以下文章

自定义KVO

自定义KVO

使用Runtime自定义KVO,原理浅析

iOS底层探索之KVO—FBKVOController分析

iOS 函数响应式与中介模式自定义KVO

iOS 函数响应式与中介模式自定义KVO