使用object的属性作为字典的键,从对象数组创建字典?

Cla*_*een 3 arrays dictionary ios swift

使用Swift可以使用swift的"map"使用这些对象的属性作为字典的String键,从对象数组[Object]创建[String:[Object]]的字典?

class Contact:NSObject {

   var id:String = ""
   var name:String = ""
   var phone:String = ""

   init(id:String, name:String, phone:String){
      self.id = id
      self.name = name
      self.phone = phone
   }

}

var contactsArray:[Contact]
var contactsDict:[String:Contact]

contactsDict = (contactsArray as Array).map { ...WHAT GOES HERE... }
Run Code Online (Sandbox Code Playgroud)

Cod*_*ent 6

假设你想id用作词典的关键词:

var contactsArray = [Contact]()
// add to contactsArray

var contactsDict = [String: Contact]()
contactsArray.forEach {
    contactsDict[$0.id] = $0
}
Run Code Online (Sandbox Code Playgroud)

map和之间的区别forEachmap返回一个数组.forEach没有任何回报.