我正在学习 Obj-C 并且难以理解此语法,第一行有效,但第二行,我在整数上执行算术 length
(-1) 它抱怨。 这是为什么呢?
self.historyDisplay.text = [self.historyDisplay.text
substringToIndex:[self.historyDisplay.text length]];
self.historyDisplay.text = [self.historyDisplay.text
substringToIndex:[self.historyDisplay.text length-1]];
length
不是整数,而是返回整数的消息的名称。 你想对这个结果做数学运算,所以你需要-1
在消息之外(这里用来缩短行text
变量):
text = self.historyDisplay.text;
self.historyDisplay.text = [text substringToIndex:[text length] - 1];
[target selector]
语法封装消息调度。对它的结果进行数学计算 - 在方括号之外。
length
是返回长度的消息的名称,因此
[self.historyDisplay.text length-1]
是语法错误,应该是
[self.historyDisplay.text length] - 1
相反。
self.historyDisplay.text = [self.historyDisplay.text substringToIndex:[self.historyDisplay.text length]-1];