Why underscores before instance variables in Objective-C?
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicates:
How does an underscore in front of a variable in a cocoa objective-c class work?
Prefixing property names with an underscore in Objective C
为什么许多Objective-C程序员在实例变量之前加下划线(即使他们从来没有直接从代码访问过它们)?这背后的逻辑是什么?
为实例变量名加下划线是所有不希望在类实例外部访问的变量的约定。这使开发人员(如果代码在库中,则是代码的用户)清楚地了解了外部访问的目的和非外部访问的目的。
逻辑是在访问属性和访问ivar时明确说明这一点。
如果未加下划线,则不能在没有属性的情况下错误地访问原始ivar。不过,我自己的代码并没有这样做。