如何将NSArray转换为NSString

9

如何在Objective-C中将NSArray转换为NSString?


1
你能具体点吗?NSArray可以包含任何Objective-C类的实例。 - Frank Shearar
1
See: https://dev59.com/BHI-5IYBdhLWcg3wfoa1 - mfazekas
将以逗号分隔的NSString转换为NSArray - beryllium
如果您不是太挑剔的话,您可以始终使用“描述”。 - Hot Licks
4个回答

29

考虑到您没有说明NSArray中包含的内容,您可以这样做:

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

是的,我发现这强烈假设你正在使用文本。或者它是在使用描述字段吗?很可能是...但在那种情况下几乎无用。 - nembleton

12

除了 Frank 的方法之外,也可以使用以下方法来实现,此方法效果也不错:

NSString *myArrayString = [array description];

NSArray 的默认实现会以整齐格式打印出其内容。


1
一个问题是,myArrayString将在文本周围有{}...如何去掉它?谢谢! - TommyG

4
这是我将NSArray转换为NSString的方法。
NSError *error = nil;

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

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

这是我找到的最安全的方法,假设你最终想回到一个数组状态。谢谢! - Albert Renshaw

1

Swift 3.0最新更新

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

您可以在函数中使用任何分隔符,以便将数组元素分隔开。在上面的示例中,当前使用的是“,”。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接