NSTimer 的强引用错在哪了?

iOS 开发新手,常常抱怨"计时器又导致内存泄露了",这时度娘很贴心的“送来”各种解决方案,解决了因循环引用导致的内存泄露问题。但作为工程师的我们,岂能就这样放过 NSTimer 呢? 首先,内存泄漏是个很严肃的问题,我相信 Apple 的工程师是不会能出这种低级错误的。 其次,作为  Apple 提出的 Target-Action 模式中,明确说明了 Target 是弱引用,类似于委托模式。 由于 ObjC 采用引用计数来管理内存,开发者对于引用关系具有敏感的洞察力是基本功。不过 Apple 官方对于 NSTimer 强引用 Target 这件事却没有明确的说明(符合苹果的一贯风格) 那么问题来了: NSTimer 对于 Target 模式是否符合苹果自身的规范?强引用 Target 发生的时机在何时?一旦发生,是否永久生效? 如果永久生效,…