Arrays 从自定义对象属性创建数组
我有一个自定义类,如:Arrays 从自定义对象属性创建数组,arrays,string,dictionary,swift3,key,Arrays,String,Dictionary,Swift3,Key,我有一个自定义类,如: class Tender: NSObject { public var code = "" public var name = "" } 方法返回投标类型的数组。从这个数组中,我想准备一个只包含名称的数组。 例如 现在,我有了一个使用这个数组的方法。我需要用[Tender]的名称组成一个数组 public func formTenderNamesArray() -> [String] { let tenderArray = f
class Tender: NSObject {
public var code = ""
public var name = ""
}
方法返回投标类型的数组。从这个数组中,我想准备一个只包含名称的数组。
例如
现在,我有了一个使用这个数组的方法。我需要用[Tender]的名称组成一个数组
public func formTenderNamesArray() -> [String] {
let tenderArray = fetchTenderArray()
var tenderNames = [String]()
for tender in tenderArray {
tenderNames.append(tender.name)
}
return tenderNames // returns ["tenderName1","tenderName2"]
}
有没有一种简单且最好的方法可以使用swift3准备字符串数组?尝试使用映射功能 应该是这样的
let tenderArray = fetchTenderArray()
let tenderNames = tenderArray.map {$0.name}
有关更多信息,请参阅此链接
//试试这个
public func formTenderNamesArray() -> [String] {
let tenderArray = fetchTenderArray()
var tenderNames = (tenderArray as! NSArray).value(forKey: "name") as! [String]
return tenderNames
}
有没有想过使用hashmap或字典来存储代码(=键)和名称(=值)?
public func formTenderNamesArray() -> [String] {
let tenderArray = fetchTenderArray()
var tenderNames = (tenderArray as! NSArray).value(forKey: "name") as! [String]
return tenderNames
}