所以我有一个nsmutablearray,里面有一堆对象。我想创建一个逗号分隔的每个对象的id值的字符串。
Answers:
使用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: ",")
[<NSArray instance> valueForKey:@"<string representation of property name>"]
它将返回该属性数组。然后调用componentsJoinedByString:
结果。在幕后,该框架正在遍历数组中的所有对象并对其进行调用valueForKey:
。键值编码很棒!
如果要在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 != ""
}
斯威夫特:)
var commaSeparatedString = arrayOfEntities.joinWithSeparator(",")