语法解释(点语法)

时间:2015-01-26 09:29:02

标签: objective-c

在我的应用程序中,我有以下代码行:

self.nameLabel.text = searchResult.name;

我想知道,如果没有圆点我怎么写呢?这就是我试图这样做的方式:

[[self nameLabel] text] = [searchResult name];

[[self nameLabel] text] = searchResult.name;

看起来对我来说,我调用属性的getter方法,但是Xcode警告我有致命的错误 - 表达式不可分配。

[[self nameLabel] text]text生成相同的变量self.nameLabel.text,就像searchResult.name等于[searchResult name]一样。

为什么会这样?

任何建议都将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:1)

[[self nameLabel] text]会返回一个文本值,并且不可分配。 使用[[self nameLabel] setText: [searchResult name]] setter方法。