NSTimer/Timer生命周期自动化管理

2020-04-15  本文已影响0人  欧巴刚弄死他

  用过这两个的可能都知道它们会导致循环引用,即声明并持有它的对象,例如一个UIViewController实例,同时成为了NSTimer/Timer的target。二者形成了循环引用。想要打破循环引用,就需要介入一个第三者持有该定时器,当定时器触发时通过代理通知其他对象,然后在该对象释放时通知该第三者释放定时器,即-dealloc(Objective-C)或deinit(Swift)方法。为了使该持有者能同时支持多个监听者,我采用了注册制。

详见github链接:
https://github.com/guolingege/PNTimerHandler.git

上一篇 下一篇

猜你喜欢

热点阅读