我知道关于编码风格的讨论往往以灾难和无休止的火焰战争告终,但这不是我想要达到的。在过去的十年中,我主要看到了dealloc
Objective-C 中方法的两种不同编码风格。第一个也是最常见的一个是放在dealloc
文件的底部。这也是 Apple 在 Xcode 默认模板中使用的样式。这背后的逻辑似乎dealloc
是在接近对象末尾时调用,因此文件末尾似乎是一个很好的比喻。
另一方面,一些人倾向于将指令dealloc
直接放在@synthesize
指令下方。在我看来,这有两个主要缺点:
- 文件的顶部充满了无聊的代码。
- 很难找到课堂上的重要部分,您必须向下滚动。
在我看来,最大的优势是您可以在属性和相应的release
消息之间建立直接的视觉联系。
另一件事是 niling 已经发布的变量。虽然我不认为这是必要的,尤其是在整个变量在dealloc
结束后被破坏的对象上下文中,但我也倾向于将变量设为 nil。我习惯于对函数范围内的变量执行此操作,所以我只是与我的编码风格保持一致。
这就是我的大多数课程的样子:
@implementation Bar
@synthesize foo;
- (void)dealloc
{
[foo release], foo = nil;
[super dealloc];
}
// Initializers and other methods…
我已经提到了一些优点和缺点。对于这个话题你有什么看法?您使用的编码风格是什么dealloc
,为什么?还有其他我忘记提及的优点和缺点吗?
我不想在这里引发一场火焰战争。我只是想知道你使用什么风格,如果你有具体的原因,或者这最终对你来说是否无关紧要。