所以我有一个带有一堆对象的nsmutablearray。我想创建一个逗号分隔的每个对象的id值字符串。
答案 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(",")