Obj-C组合字符串

时间:2010-04-04 03:07:08

标签: iphone objective-c string

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

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

visibilityString = (@"This is %@ %@", visibilityString1, visibilityString2);

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

2 个答案:

答案 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];

享受!