【发布时间】:2011-08-30 18:47:22
【问题描述】:
以下两个消息表达式是否会导致同一对象中的保留计数增加?
示例 1:
iVar = [Foo aClassMethodInFoo];
[iVar retain];
示例 2:
iVar = [[Foo aClassMethodInFoo] retain];
示例 1 是明确的,因为它是 iVar 实例,其保留计数增加了。
示例 2 似乎表明从 [Foo aClassMethodInFoo] 返回的对象的保留计数增加了。如果是这样,那么假设aClassMethodInFoo 是一种方便的方法,我应该“释放”哪个对象来平衡早期的“保留”以避免内存泄漏?
【问题讨论】:
标签: objective-c memory-management memory-leaks