在ARC下,使用__weak关键字修饰的对象在引用计数器为0时会自动置为nil,而不会释放该对象。这是因为使用__weak关键字修饰的对象是弱引用,也就是说该对象只是被动地跟随着强引用的生命周期,而不会自己拥有一个引用计数器。当强引用的对象被释放时,指向该对象的弱引用会自动置为nil。因此,在ARC下使用__weak关键字修饰的对象不会改变对象的引用计数,而是自动置为nil。
上一篇:ARC下,是否可以在_block内部使用__strong修饰符来避免对象被释放?如何正确地解释ARC下“__weak对象不影响引用计数”的机制?
下一篇:ARC语义问题-没有已知的选择器实例方法