2017-03-06 83 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

這是完美的謝謝! –