reloadData似乎工作但在tableView上的异步搜索中没有显示任何单元格

时间:2012-02-13 20:29:07

标签: ios asynchronous uitableview

我整天都被困在这一天。

  1. 我有一个带有自定义表格单元格的Nib文件,我用它来加载到 tableView视图控制器的实例变量。

  2. 在视图控制器中,我有一个搜索栏和一个表视图IBOutlets和一个NSMutableArray来存储我的数据作为实例变量等。

  3. 我有一个使用Restkit对外部API进行异步调用的对象,因此我将视图控制器定义为委托,以便在请求完成时接收数据,将其保存在NSMutableArray上,然后触发reloadData。

  4. 因为我正在进行异步调用,所以方法shouldReloadTableForSearchString负责发送请求,然后返回NO。

    如果我返回YES而不是NO,之后调用reloadData,我的单元格被加载到tableView后退一步我的调用,这意味着如果我键入第一个字母没有任何反应,但在第二个字母上我得到第一个字母的结果。这种行为没关系,因为在shouldReloadTableForSearchString返回YES之后设置了实例变量。这是预期的,好的。

    我面临的问题是,如果我只使用reloadData,并且shouldReloadTableForSearchString返回NO,则不会将单元格分配给tableView。我检查并调用了cellForRowAtIndexPath,并且每个单元格都是使用数据创建的,但是没有显示。

    也许我的数据源属性有问题,但我不确定。

    我没有区别。任何想法?

0 个答案:

没有答案