有没有更好的方法在一行中实现连接多个字符串?或者在做这件事时都有任何建议。
NSString *string1 = @"one";
NSString *string2 = @"one";
NSString *string3 = @"one";
NSString *appendedText = @"";
[appendedText = [[string1 stringByAppendingString: string2] stringByAppendingString: string3]
答案 0 :(得分: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 :(得分:0)
您可以使用stringByAppendingFormat:
[string1 stringByAppendingFormat:@"%@%@",string2,string3]
Here是参考
你也有NSMutableString但是在语法方面它会看起来相同
丹尼尔