2010-03-05 102 views
7

如何将NSArray转换为objective-c中的NSString?如何将NSArray转换为NSString

+1

你能更具体吗? NSArray可以包含任何Objective-C类的实例。 – 2010-03-05 13:02:42

+1

请参阅: http://stackoverflow.com/questions/1828665/convert-nsarray-to-nsstring-objective-c – mfazekas 2010-03-05 13:07:24

+0

[转换NSString逗号分隔为NSArray](http://stackoverflow.com/a/8204215/ 194544) – beryllium 2012-03-26 19:53:20

回答

28

铭记你不说什么在NSArray中,你可以这样做:

NSArray *arr = [NSArray arrayWithObjects: @"foo", @"bar", @"baz"]; 
[arr componentsJoinedByString: @","] 
+0

是的,我发现这是强烈假设你有文字。或者它是使用描述字段呢?最有可能...但在这种情况下几乎不可用。 – nembleton 2012-10-01 21:26:37

12

Aternatively弗兰克的方法,它工作得很好,你也可以做

NSString *myArrayString = [array description]; 

NSArray上的描述的默认实现将以整齐的格式打印出内容。

+0

这里的一个问题是,myArrayString将围绕文本{...}如何摆脱这种情况?谢谢! – TommyG 2011-11-04 23:26:28

4

这是我已经将我NSArrayNSString

NSError *error = nil; 

NSData *data = [NSJSONSerialization dataWithJSONObject:aArray options:kNilOptions error:&error]; 

NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 
+0

这是我找到的最安全的方法,假设您最终想要恢复到数组状态。谢谢! – 2017-05-02 01:21:57

0

雨燕3.0最新更新

let string = array.componentsJoined(by: ",")

您可以在函数中使用任何分隔要数组元素目前分离在上面的例子中是“,”。