如何在字典键值中将变量值设置为数组?

时间:2016-08-21 04:53:12

标签: arrays swift dictionary firebase firebase-realtime-database

我已将firebase中的用户家庭地址存储为数组。它看起来像这样:

Image for User Home Address

我现在正试图获取所有用户数据并将其存储到这样的字典中:

Image for Storing in a Dictionary

代码的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部分有关。

在文件中,我为所有用户数据存储创建变量。我现在的问题是如何将家庭地址设置为数组的值类型作为字典键值。有人可以帮忙吗?如果您有任何关于帮助我的问题,请随时发表评论。

1 个答案:

答案 0 :(得分:0)

您可以尝试覆盖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)
    }
}

这只是一个想法,希望你可以从中构建。