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

Jho*_*rra 64 arrays objective-c nsmutablearray swift

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

rde*_*mar 164

使用NSArray实例方法componentsJoinedByString:.

NSArray.

例:

componentsJoinedByString:

  • @Jhorra如果你想要一个只有一个属性的数组,你可以做一些非常棒的事情:`[<NSArray instance> valueForKey:@"<属性名称的字符串表示>"]`它将返回一个just的数组那个财产.然后在结果上调用`componentsJoinedByString:`.在幕后,框架迭代遍历数组中的所有对象,并在它们上面调用`valueForKey:`.键值编码真棒! (13认同)

Ant*_*ine 7

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

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

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

array = array.filter { (stringValue) -> Bool in
    return stringValue != nil && stringValue != ""
}
Run Code Online (Sandbox Code Playgroud)


med*_*eda 5

从数组创建字符串:

-(NSString *)convertToCommaSeparatedFromArray:(NSArray*)array{
    return [array componentsJoinedByString:@","];
}
Run Code Online (Sandbox Code Playgroud)

从字符串创建数组:

-(NSArray *)convertToArrayFromCommaSeparated:(NSString*)string{
    return [string componentsSeparatedByString:@","];
}
Run Code Online (Sandbox Code Playgroud)