2012-08-24 16 views

回答

0

您可以使用stringByAppendingFormat:

[string1 stringByAppendingFormat:@"%@%@",string2,string3]

Here是裁判

你也有NSMutableString但在語法方面,它看起來差不多的

丹尼爾

+0

我忘了所有關於NSMutableString感謝提醒我。我將在未來的應用中考慮到這一點,因爲我認爲這可能會更清楚。 – stackdaddy

1

安全和正確嗎?當然。

比方說,你有:

NSString *a = @"hay"; 
NSString *b = @"bee"; 
NSString *c = @"see"; 

您可以使用stringByAppendingString:將它們串聯所有:

cat = [a stringByAppendingString:[b stringByAppendingString:c]]; 

您可以使用stringByAppendingFormat:將它們串聯所有:

cat = [a stringByAppendingFormat:@"%@%@", b, c]; 

你可以使用stringWithFormat:

cat = [NSString stringWithFormat:@"%@%@%@", a, b, c]; 

你可以把它們放在一個數組,並使用componentsJoinedByString:: (只是爲了好玩,使用array literal syntax

array = @[ a, b, c]; 
cat = [array componentsJoinedByString:@""]; 

你可以在一個可變的字符串收集他們:

NSMutableString *temp = [a mutableCopy]; 
[temp appendString:b]; 
[temp appendString:b]; 
cat = [temp copy]; // if you want to make sure result is immutable 

所有這些方法都可以。這裏是我的建議,選擇一個使用:

  1. 使用無論哪一個讓你的代碼清晰,易於閱讀。
  2. 當您的應用程序正常工作時,使用工具來分析它。
  3. 只有當您發現字符串連接導致性能問題時,請考慮另一種方法。
+0

這正是我正在尋找的,它回答問題的感謝。 – stackdaddy

相關問題