-2

我正在学习 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]];
4

4 回答 4

1

length不是整数,它是返回整数的消息的名称。您想对该结果进行数学运算,因此您需要在-1消息之外(text此处使用变量来缩短行):

text = self.historyDisplay.text;
self.historyDisplay.text = [text substringToIndex:[text length] - 1];
于 2013-01-25T21:34:41.247 回答
0

[target selector]语法封装了消息分派。计算它的结果——在方括号之外。

于 2013-01-25T21:34:51.027 回答
0

length是返回长度的消息的名称,所以

[self.historyDisplay.text length-1]

是语法错误,应该是

[self.historyDisplay.text length] - 1

反而。

于 2013-01-25T21:35:12.090 回答
0
self.historyDisplay.text = [self.historyDisplay.text substringToIndex:[self.historyDisplay.text length]-1];
于 2013-01-25T21:35:24.197 回答