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

问题描述 投票:63回答:4

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

objective-c arrays swift nsmutablearray
4个回答
163
投票

使用NSArray实例方法componentsJoinedByString:

在Objective-C中:

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

在Swift中:

func componentsJoinedByString(separator: String) -> String

例:

在Objective-C中:

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

在Swift中:

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

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 != ""
}

5
投票

从数组创建字符串:

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

从String创建数组:

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

2
投票

斯威夫特:)

 var commaSeparatedString = arrayOfEntities.joinWithSeparator(",")
© www.soinside.com 2019 - 2024. All rights reserved.