Swift 3 setValuesForKeys错误

时间:2016-10-25 20:30:06

标签: swift dictionary firebase firebase-realtime-database

我试图从字典中获取数据并将其附加到数组中(我遵循此Tutorial)。

字典的样子如下:

["Name": TEST, "ID": 51C3EE09-5718-4E07-9C88-FC2409BA6AC1, "Name_O": test, "Users": ]

但不幸的是它无法获取数据

refHandle = ref.child("Pages").observe(.childAdded , with: { (snapshot) in
        if let dictionary = snapshot.value as? [String: AnyObject] {

            print(dictionary)

            let data = Data()

            data.setValuesForKeys(dictionary) //Error Happens Here "Thread Breakpoint"
            self.dataList.append(data)

            self.tableView.reloadData()

        }
    })

如果我删除错误所在的行,那么数组将如下所示:

[<app.Data: 0x786f4830>, <app.Data: 0x786f4ef0>]

让我困惑......

而不是输入setValuesForKeys,它应该写成setValuesForKeysWithDictionary(在教程中),但不再有效。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

从Swift 3.0开始,它现在是setValuesForKeys(_ :) https://developer.apple.com/reference/objectivec/nsobject/1417515-setvaluesforkeyswithdictionary?language=objc

Swift现在是开源的,社区我认为实例方法不必要很长。