亲爱的 iOS 开发者,
我仍然在没有 ARC 的情况下进行开发(即将切换),在与 iOS 初学者进行有趣的讨论后,我提出了初始化保留属性(我们称之为property
)的方法,我从 Apple 文档在他们的 pre-ARC 继承时代:
NSObject *tmpProperty = [[NSObject alloc] init];
self.property = tmpProperty;
[tmpProperty release];
我看到了一个很大的好处:它使内存管理变得清晰。
还有一个很大的缺点:它需要 3 行,对于一些非常基本的东西。所以我们假设:为什么不采用以下解决方案?
self.property = [[[NSObject alloc] init] autorelease];
它对内存管理不太清楚,但更紧凑(并且它可能使 ARC 迁移更容易实现)。
什么是(是?)你使用自己?您认为其中一个明显比另一个更好吗?