可能重复:
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程序员在实例变量之前放置下划线(即使他们甚至从不直接从代码中访问它们)?这背后的逻辑是什么?
答案 0 :(得分:2)
将下划线添加到实例变量名称是所有不打算在类实例外部访问的变量的约定。这使得开发人员(以及代码的用户,如果它在库中)清楚地知道什么是外部访问和什么不是。
答案 1 :(得分:1)
逻辑是在访问属性时访问ivar时明确说明。
如果没有属性,你不能错误地访问原始的ivar,如果它强调的话。我不会在我自己的代码中这样做。