2015-12-15 53 views
0

應用程序崩潰我讀過關於這一主題的相關問題,並在信號燈一直在閱讀了,但我還沒有掌握他們呢。雨燕2.0 /解析 - 查詢沒有完成足夠快上推出

這是我的問題 - 我加載從解析信息到我的tableview,和我使用的信息的數量,以確定我的tableview應該多少行。下面是的tableView功能:

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 

    return parseObjects.count //parseObjects is obviously an array 
} 

此代碼保持返回一個錯誤:「發現零值......」

注:我是在viewDidLoad中()上parseObjects查詢,它是第一個應該運行的代碼位。我使用Parse製作了幾個應用程序,但不明白爲什麼我會遇到這個錯誤。任何代碼示例/解釋將不勝感激。

回答

2

似乎parseObjects尚未初始化時,您的tableview負載。在嘗試訪問該數據之前,您應該先檢查parseObjects。當您的異步任務完成時,請致電tableView.reloadData()

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return (parseObjects != nil) ? parseObjects.count : 0 
} 
+0

我明白了...這就是我要找的。你會解釋什麼「(parseObjects!= nil)?parseObjects.count:0」是指?我大概猜測它的意思是「如果有東西沒有準備好,不要做(還是等到它?)」......再次感謝! –

+0

這是簡寫「如果'parseObjects'不爲零,使用parseObjects的計數。否則,使用0。‘等到它是’一部分來自當你調用'tableView.reloadData'中的抓取完成後(因爲只有然後'parseObjects'填充)。 – BenJammin

+0

我繼續回來這個解決方案,我不十分把握吧..具體而言,爲/何時調用reloaddata ....你會後(或給我)的一個非常簡單的例子異步任務代碼以及何時調用所有內容? –