【发布时间】:2011-09-01 10:30:42
【问题描述】:
我最近一直在自学 Objective C,并注意到以下模式在教程和示例代码(包括来自 Apple 网站的示例)中大量使用。
UIView *myUiView = [[UIView alloc] init];
self.uiView = myUiView;
[myUiView release];
我只是想知道,创建一个新变量似乎有点浪费,只是为了设置一个属性。我也看到过使用以下模式,但据我了解,在 iOS 设备上使用自动释放被认为是不好的形式,因为自动释放池占用了相当多的开销,这在移动设备上可能不好
self.uiView = [[[UIView alloc] init] autorelease];
我最近一直在玩弄使用以下模式,它设置属性,然后在属性上调用 release(以减少属性本身的引用计数器)。
self.uiView = [[UIView alloc] init];
[self.uiView release];
我已经设法在几个 ViewController 上使用它而没有任何不良影响,但这是有效的代码,还是我遗漏了一些使它成为一个坏主意的东西?
【问题讨论】:
标签: objective-c ios properties