67

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

4

4 回答 4

171

使用NSArray实例方法componentsJoinedByString:

在 Objective-C 中:

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

在斯威夫特:

func componentsJoinedByString(separator: String) -> String

例子:

在 Objective-C 中:

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

在斯威夫特:

let joinedComponents = array.joined(seperator: ",")
于 2012-04-26T03:25:19.240 回答
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 != ""
}
于 2014-12-17T16:20:59.920 回答
5

从数组创建字符串:

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

从字符串创建数组:

-(NSArray *)convertToArrayFromCommaSeparated:(NSString*)string{
    return [string componentsSeparatedByString:@","];
}
于 2015-11-03T22:39:40.217 回答
2

迅速

var commaSeparatedString = arrayOfEntities.joinWithSeparator(",")
于 2016-05-13T17:00:31.897 回答