按照本教程将Firebase数据库实施到我的应用中:Video
当我尝试检索“'事件”中的数据时树,应用程序崩溃。目前,我正在尝试通过
let date = events[(self.events.count - 1) - (indexPath).row]?.value("date") as! String
它在那一行抛出一个线程1:信号SIGABRT错误。 控制台告诉我
Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<FIRDataSnapshot 0x17003f680> valueForUndefinedKey:]: this class is not key value coding-compliant for the key date.'
那么我做错了什么?或者有更好的方法吗?
答案 0 :(得分:1)
问题在于您用于获取日期的代码。
let date = events[(self.events.count - 1) - (indexPath).row]?.value("date") as! String
根据Firebase中数据的结构,上面的代码正在“事件”下面的两个级别寻找关键的“日期”。在Firebase数据中,“日期”键比事件低三级,而不是两级。以下是您可以采取的措施来解决问题:
let oneStepBelow = events[(self.events.count - 1) - (indexPath).row] as! [AnyObject]
let secondStep = oneStepBelow[0].value("date") as! String
这可以解决您的问题。