假设在使用点语法时忽略前导下划线是否安全

时间:2014-04-10 19:10:14

标签: objective-c syntax underscores

快速提问。我所参与的所有教授目标C的课程总是在实例变量前加下划线。他们还解释说,当使用点语法时,您不必在访问它们时包含实例变量的前导下划线。他们从未明确表示使用带有Objective C的点语法将始终忽略前导下划线,这就是我的问题。点语法总是会忽略Objective C中的前导下划线吗?

为了清除混淆,如果我有一个类Item并且它有一个名为*_itemName的实例变量,我可以稍后(在main中)使用点语法设置该变量并忽略前导用Item.itemName = something.

加下划线

当我第一次开始使用Obj-C时,我会想到我必须设置_itemName包括Item._itemName = something的下划线。

点语法是否会忽略前导下划线?

1 个答案:

答案 0 :(得分:1)

“Dot syntax”实际上不是访问实例变量的快捷方式,而是访问属性 *的快捷方式。

属性可能从实例变量中保存/加载它们的数据,但它们也可以从众多其他变量中获取数据。它们的目的是作为抽象和放大器。间接层。

*从技术上讲,你可以将它用于任何看起来像属性方法的方法......但通常强烈不鼓励。不要那样做!