【发布时间】:2016-05-14 10:17:47
【问题描述】:
使用 Swift 是否可以使用对象数组 [Object] 创建一个 [String:[Object]] 字典,使用这些对象的属性作为字典的 String 键,使用 swift 的“map”?
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... }
【问题讨论】:
-
在一个数组上调用map会返回另一个数组,所以没有
-
您可以使用
forEach,然后用这些值填充字典。map返回一个数组 - 正如@dan 已经指出的那样。 -
如果有比使用“地图”更好的方法,我对此持开放态度。
-
目前我只是循环遍历数组中的项目并以这种方式添加它们。我只是希望有一个更简洁的解决方案。
-
为什么你的
contactsDict有[String: [Contact]]。不应该是[String: Contact]。字典的键用什么字段?
标签: ios arrays swift dictionary