【发布时间】:2012-07-08 07:58:33
【问题描述】:
我正在深入研究 iOS 编程,但我很难理解点表示法和方法表示法的概念。
据我了解,点表示法可用于在属性上调用 setter/getter,并且写/读起来更干净。 Method Notation 用于向对象发送消息以对其进行操作等。
谁能给我一个简单的解释,为什么以下两个语句本质上不同,一个会编译,但另一个会因为语法错误而失败。
- (IBAction)digitPressed:(UIButton *)sender
{
NSString *digit = [sender currentTitle];
self.display.text = [self.display.text stringByAppendingFormat:digit];
self.display.text = self.display.text.stringByAppendingFormat:digit;
}
谢谢。
【问题讨论】:
-
最后一行没有意义,有语法错误
-
左边的项目不是字母吗,先生?
-
我知道最后一行在语法上不正确,我正在寻找关于为什么这两行不同的解释。为什么方括号会改变 self.display.text 的含义?为什么我不能使用 self.display.text.stringByAppendingFormat?
-
在一个表明您是 ObjC 初学者的问题中,您因使用无效代码而被否决,这令人担忧。您的问题可能更清楚(您通过省略表示最后一行代码已编译)但这就是我们在这里提供帮助的原因。
-
不知道为什么这个问题被否决了,除了它的措辞不是很好。这里有一个问题,它实际上非常微妙,应该讨论。 Ricard 的回答是非常好的重新获取器/设置器和方法。 @Cirrostratus 的答案在方法方面非常有用。根据这些编辑您的问题,您就有了一个非常有用的问题。
标签: objective-c ios ios5