安全和正確嗎?當然。
比方說,你有:
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
所有這些方法都可以。這裏是我的建議,選擇一個使用:
- 使用無論哪一個讓你的代碼清晰,易於閱讀。
- 當您的應用程序正常工作時,使用工具來分析它。
- 只有當您發現字符串連接導致性能問題時,請考慮另一種方法。
我忘了所有關於NSMutableString感謝提醒我。我將在未來的應用中考慮到這一點,因爲我認爲這可能會更清楚。 – stackdaddy