这一定是一个简单的问题,但有人可以告诉我为什么这不起作用:
visibilityString1 = @"the";
visibilityString2 = @"end";
visibilityString = (@"This is %@ %@", visibilityString1, visibilityString2);
每当我尝试以这种方式组合字符串时,它只会返回第二个字符串,所以我得到的是:
端
答案 0 :(得分:6)
使用以下内容:
visibilityString = [NSString stringWithFormat:@"This is %@ %@", visibilityString1, visibilittyString2];
<强>说明强>
在C中(因此也在ObjC中),语法(expression, expression, expression)
计算所有表达式并返回最后一个表达式的值。所以如果你这样做:
int foo = (bar(), baz(), 4);
将调用 bar()
和baz()
,但foo
将为4
。 (不要在家里这样做。这不是一个好习惯。)
答案 1 :(得分:5)
我相信你所寻找的是:
visibilityString = [NSString stringWithFormat:@"This is %@ %@", visibilityString1, visibilityString2];
享受!