我有UISearchBarDisplayController
的tableView。下面的代码是从webserver获取记录并显示tableview
单元格,每个工作正常。但是当我将向下和向上滚动3或5次时,我将点击搜索栏,它将崩溃崩溃报告NSLog
不会打印任何内容。
记得我尝试NSZombie
,突破点,异常点等,但没有任何帮助。
重要问题:
如何从网络服务器获取数据后将数据加载到tableview
。因为在从服务器获取数据之前调用tableview
委托方法。
DataFetchController *getDataFetch=[[DataFetchController alloc]init];
//getleadFetch.delegate=self;
[getDataFetch beginTaskWithCallbackBlock:^(NSArray *mm){
[self.tableView reloadData];//if i comment this line the UISearchBar not crashes
}];
答案 0 :(得分:0)
在数据提取完成之前加载tableview显然会导致崩溃。 因此,为了避免这种情况,我们需要知道数据提取何时完成。 这可以从你的sql apis轻松获得,它在fetch完成时返回错误代码。您可以通过它来查明提取是否完成。因此,您可以按顺序提供表视图命令的重新加载。 希望它有所帮助!!
答案 1 :(得分:0)
更新主线程中的tableview数据,不会崩溃。
dispatch_async(dispatch_get_main_queue(), ^{
[self.tableView reloadData];
});