Obj-C组合字符串

Bro*_*die 2 string iphone objective-c

这一定是一个简单的问题,但有人可以告诉我为什么这不起作用:

visibilityString1 = @"the";
visibilityString2 = @"end";

visibilityString = (@"This is %@ %@", visibilityString1, visibilityString2);
Run Code Online (Sandbox Code Playgroud)

每次我尝试以这种方式组合字符串时,它只会返回第二个字符串,所以我得到的是:

结束

zne*_*eak 6

使用以下内容:

visibilityString = [NSString stringWithFormat:@"This is %@ %@", visibilityString1, visibilittyString2];
Run Code Online (Sandbox Code Playgroud)

说明

在C(因此也在ObjC中),语法(expression, expression, expression)计算所有表达式并返回最后一个表达式的值.所以,如果你这样做:

int foo = (bar(), baz(), 4);
Run Code Online (Sandbox Code Playgroud)

bar()并且baz()将被调用,但foo4.(不要在家里这样做.这不是一个好习惯.)


and*_*n22 5

我相信你要找的是:

visibilityString = [NSString stringWithFormat:@"This is %@ %@", visibilityString1, visibilityString2];
Run Code Online (Sandbox Code Playgroud)

请享用!