NSTimer循环引用,为什么target传weakSelf没用?

因为给NSTimer传weakSelf,内部是类似于@property (strong, nonatomic) id target;而不是block。

网上的说法是:而NSTimer引用的是weakSelf指向的值,我觉得不是很恰当。

个人理解是:

block底层会转化成Person *__weak weakPerson;会把弱指针拷贝过去并弱引用,内部的引用修饰符是根据外部__weak修饰符而改变的。

而NSTimer是 @property (strong, nonatomic) ,外边的修饰符对它没有任何效果,仍然是强持有传进去weakPerson指针。

你可能感兴趣的:(NSTimer循环引用,为什么target传weakSelf没用?)