2015-12-15 24 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 ....你会后(或给我)的一个非常简单的例子异步任务代码以及何时调用所有内容? –