在我运行Xcode“Analyze”功能之前,我从未考虑过这个问题。假设我有一个名为dude
的类,我创建了一个类实例并对其进行了综合,以便self.dude
可用。
这很好用。但是,如果我放在dealloc
:
[self.dude release];
我收到分析师警告,因为它应该是真的:
[dude release];
但是,这会产生另一个警告,因为Analyzer认为我将release
发送到类名,而不是发送给ivar。
现在,如果ivar被命名为与类不同的东西,那么没有问题,[ivar release];
可以在没有分析器警告的情况下工作。
我是否应该将此作为一般指示,将ivar命名为类名称是不明智的?它从未干扰我的产品编译或执行,但分析师打开了有关此问题的新问题。
答案 0 :(得分:3)
你应该用大写字母(Dude
)和实例变量(以及其他变量)用小写字母(dude
)开始你的类名。这完全避免了这个问题,并且您还遵循Objective-C的标准命名约定。
答案 1 :(得分:0)
以小写字母开头的类名绝对不常见。 Objective-C / Cocoa约定是你用一个大写开始一个类名,用一个小写字母开始方法名和实例变量名。
只需遵循常规惯例,为您的班级Dude
命名并命名您的ivar dude
。