Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c OBJ-C:NSStrings-stringByAppendingString方法_Objective C_C_Nsstring - Fatal编程技术网

Objective c OBJ-C:NSStrings-stringByAppendingString方法

Objective c OBJ-C:NSStrings-stringByAppendingString方法,objective-c,c,nsstring,Objective C,C,Nsstring,为什么这种语法有效 NSString* newDisplayText = [currentDisplayText stringByAppendingString:digit]; 而这一个(首先将数字NSStrin分配给新字符串,然后使用stringByAppendingString方法向其发送消息)。不起作用 NSString* newDisplayText = digit; [newDisplayText stringByAppendingString:currentDispl

为什么这种语法有效

   NSString* newDisplayText = [currentDisplayText stringByAppendingString:digit];
而这一个(首先将数字NSStrin分配给新字符串,然后使用stringByAppendingString方法向其发送消息)。不起作用

  NSString* newDisplayText = digit;
  [newDisplayText stringByAppendingString:currentDisplayText];

发送此方法是否会覆盖我设置的上一个值?

stringByAppendingString:
返回一个
NSString
对象。它不会修改接收器,因为
NSString
是不可变的

在本例中,您需要将
stringByAppendingString
的结果分配给
newDisplayText

NSString* newDisplayText = digit;
newDisplayText = [newDisplayText stringByAppendingString:currentDisplayText];

stringByAppendingString:
返回一个
NSString
对象。它不会修改接收器,因为
NSString
是不可变的

在本例中,您需要将
stringByAppendingString
的结果分配给
newDisplayText

NSString* newDisplayText = digit;
newDisplayText = [newDisplayText stringByAppendingString:currentDisplayText];

我真的很难弄清楚你到底在问什么,但这里有一个尝试:

方法
-stringByAppendingString:
不会修改其接收器。它构造一个新的
NSString*
对象并返回该对象。这么说

[newDisplayText stringByAppendingString:currentDisplayText];

因为你要扔掉新创建的字符串,所以什么都不做。

我真的很难弄清楚你到底在问什么,但这里有一个尝试:

方法
-stringByAppendingString:
不会修改其接收器。它构造一个新的
NSString*
对象并返回该对象。这么说

[newDisplayText stringByAppendingString:currentDisplayText];

因为您正在丢弃新创建的字符串,所以绝对不会执行任何操作。

每个操作的结果是什么?您从哪里获得数字?每个数字的结果是什么?您从哪里获得数字?