美文网首页
KVO,通知,NSTimer 哪个会造成强引用

KVO,通知,NSTimer 哪个会造成强引用

作者: ee885da7f59d | 来源:发表于2017-12-07 10:18 被阅读0次

    最近面试有人问一个问题,KVO,通知,NSTimer 哪个会造成强引用 

    当时还问蒙了,不知道具体怎么回答,NSTimer 肯定会强引用,

    但是KVO还有通知呢?想想它的用法,在销毁时必须移除,是否也是强引用呢?

    研究了一下用法 KVO是 isa swizzling,是混合的

    自动键-值观察是由叫isa-swizzling的技术实现的。

    isa指针,如其名称所指,指向维护分发表的对象的类。该分发表实际上包含了指向实现类中的方法的指针,和其它数据。

    当某个对象的属性注册了中观察者时,当该被观察对象的isa指针被修改为指向一个中间类,而不是真实的类。因此isa指针的值并不一定反映实例的实际类。

    你的程序应当使用class方法来确定实例对象的类,而不是依赖于isa指针。

    所以KVO,通知并不会造成强引用。

    相关文章

      网友评论

          本文标题:KVO,通知,NSTimer 哪个会造成强引用

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