第29条:理解引用计数

属性存取方法中的内存管理

  • (void)setFoo:(id)foo
    {
    [foo retain];
    [_foo release];
    _foo = foo;
    }
    此方法将保留新值并释放旧值,然后更新实例变量,令其指向新值。

自动释放池
此特性很有用,尤其在方法中返回对象时更应该用它。此方法可以保证对象在跨越“方法调用边界”后一定存活。实际上,释放操作会在清空最外层的自动释放池时执行。这个时机指的就是当前线程的下一次事件循环。
综上所述,autorelease能延长对象的生命周期,使其在跨越方法调用边界后依然可以存活一段时间。

你可能感兴趣的:(第29条:理解引用计数)