Objective-C从对象数组创建逗号分隔字符串的最简单方法

时间:2012-04-26 03:19:16

标签: objective-c arrays swift nsmutablearray

所以我有一个带有一堆对象的nsmutablearray。我想创建一个逗号分隔的每个对象的id值字符串。

4 个答案:

答案 0 :(得分:162)

使用NSArray实例方法componentsJoinedByString:

在Objective-C中:

- (NSString *)componentsJoinedByString:(NSString *)separator

在斯威夫特:

func componentsJoinedByString(separator: String) -> String

示例:

在Objective-C中:

NSString *joinedComponents = [array componentsJoinedByString:@","];

在斯威夫特:

let joinedComponents = array.joined(seperator: ",")

答案 1 :(得分:7)

如果你在Swift中搜索相同的解决方案,可以使用:

var array:Array<String> = ["string1", "string2", "string3"]
var commaSeperatedString = ", ".join(array) // Results in string1, string2, string3

要确保您的数组不包含nil值,您可以使用过滤器:

array = array.filter { (stringValue) -> Bool in
    return stringValue != nil && stringValue != ""
}

答案 2 :(得分:4)

从数组创建字符串:

-(NSString *)convertToCommaSeparatedFromArray:(NSArray*)array{
    return [array componentsJoinedByString:@","];
}

从字符串创建数组:

-(NSArray *)convertToArrayFromCommaSeparated:(NSString*)string{
    return [string componentsSeparatedByString:@","];
}

答案 3 :(得分:2)

斯威夫特:)

 var commaSeparatedString = arrayOfEntities.joinWithSeparator(",")