亲爱的同学iOS开发,分配分配对象以保留属性的最佳做法是什么?
我没有ARC(开关即将推出),并用iOS的初学者一个有趣的讨论后,仍处于发展阶段,我介绍我的方式来初始化保留属性(我们称之为property
) ,我从苹果文档继承他们的弧前时代:
NSObject *tmpProperty = [[NSObject alloc] init];
self.property = tmpProperty;
[tmpProperty release];
我看到这是一个很大的好处:它使内存管理清晰。
还有一个很大的缺点:它需要3行,因为非常基本。所以我们假设:为什么不是以下解决方案?
self.property = [[[NSObject alloc] init] autorelease];
这是内存管理不太清楚,但更紧凑(并propably使ARC-迁移更容易实现)。
什么是(你?)你使用自己?你认为其中的一个比另一个明显更好吗?
如果您正确地做到了objc中的内存管理是确定性的。使用autorelease不会改变这个 –
你可以看看[Apple Docs](https://developer.apple。com/library/mac/documentation/Cocoa/Conceptual/MemoryMgmt/Articles/mmPractical.html#// apple_ref/doc/uid/20000043-1000922)用于使用autorelease的内存。 –
我看不到任何地方提到autorelease应该避免 –