创建

简单:

NSString *newString = @"My String";

来自多个字符串:

NSString *stringOne = @"Hello";
NSString *stringTwo = @"world";
NSString *newString = [NSString stringWithFormat:@"My message: %@ %@",
                     stringOne, stringTwo];

使用 Mutable String

NSString *stringOne = @"Hello";
NSString *stringTwo = @"World";
NSMutableString *mutableString = [NSMutableString new];
[mutableString appendString:stringOne];
[mutableString appendString:stringTwo];

来自 NSData:

NSData 初始化时,必须提供显式编码,因为 NSString 无法猜测字符在原始数据流中的表示方式。目前最常见的编码是 UTF-8,甚至是某些数据(如 JSON)的要求。

避免使用+[NSString stringWithUTF8String:],因为它需要一个显式的以 NULL 结尾的 C 字符串,而 -[NSData bytes] 没有提供。

NSString *newString = [[NSString alloc] initWithData:myData encoding:NSUTF8StringEncoding];

来自 NSArray:

NSArray *myArray = [NSArray arrayWithObjects:@"Apple", @"Banana", @"Strawberry", @"Kiwi", nil];
NSString *newString = [myArray componentsJoinedByString:@" "];