我已将用户的家庭住址作为数组存储在 firebase 中。它看起来像这样:
我现在正试图获取我所有的用户数据并将它们存储到这样的字典中:
代码的 User()
部分在上面定义如下:
var users = [User]()
[User]()
部分来自 user.swift 文件:
class User: NSObject {
var fullName: String?
var email: String!
var userPhoto: String?
var homeAddress: [String:[Double]]()
var schoolOrWorkAddress: String!
}
错误与它的 homeAddress
部分有关。
在文件中,我为所有用户数据存储创建了变量。我现在的问题是如何将家庭地址设置为数组的值类型作为该字典键值。谁能帮忙?如果您有任何问题可以帮助我,请随时发表评论。
最佳答案
您可以尝试覆盖 setValue 函数以循环访问 homeAddress 点。
// value in this case would be the points in your dictionary and the
// the key would be "homeAddress"
override func setValue(value: AnyObject?, forKey key: String) {
if key == "homeAddress" {
let homeAddressPoints = [HomeAddressPoint]()
for dict in value as! [[String: AnyObject]] {
let point = HomeAddressPoint()
point.setValuesForKeysWithDictionary(dict)
homeAddressPoints?.append(point)
}
} else {
super.setValue(value, forKey: key)
}
}
这只是一个想法,希望您可以以此为基础进行构建。
关于arrays - 如何将变量的值设置为字典键值中的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39060935/