2010-04-04 55 views
2

這一定是這樣一個簡單的問題,但誰能告訴我,爲什麼這不工作:的OBJ-C組合的字符串

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

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

每次我嘗試串這種方式結合的,它只會返回第二個字符串,我得到的是:

回答

5

我相信你要找的是什麼:

visibilityString = [NSString stringWithFormat:@"This is %@ %@", visibilityString1, visibilityString2]; 

享受!

6

使用以下:

visibilityString = [NSString stringWithFormat:@"This is %@ %@", visibilityString1, visibilittyString2]; 

說明

在C(因此也是在ObjC),語法(expression, expression, expression)評估所有表達式並返回最後一個的值。所以,如果你這樣做:

int foo = (bar(), baz(), 4); 

bar()baz()將被調用,但foo將是4。 (不要在家裏這樣做,這不是一個好習慣。)