2017-03-06 59 views
0

检索数据下面这个教程对实施火力地堡数据库到应用中时:Video斯威夫特3 - SIGABRT试图从FirebaseSnapshot

当我尝试在“事件”树时,应用程序崩溃检索数据。目前,我通过

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.' 

那我做错了吗?还是有更好的方法来做到这一点?

My code showing the error

My Firebase Structure

回答

1

的问题是在你使用来获取最新的代码。

let date = events[(self.events.count - 1) - (indexPath).row]?.value("date") as! String

基于对火力地堡数据的结构,上面的代码中寻找键“日期”以下两个层面的“事件”。在您的Firebase数据中,“日期”键位于事件下方的三个级别,而不是两个。这里是你可以做什么来解决这个问题:

let oneStepBelow = events[(self.events.count - 1) - (indexPath).row] as! [AnyObject]

let secondStep = oneStepBelow[0].value("date") as! String

这应该解决您的问题。

+0

这是完美的谢谢! –