Objective c iOS:在重新加载UITableView后滑动以显示数据

Objective c iOS:在重新加载UITableView后滑动以显示数据,objective-c,uitableview,xcode5,Objective C,Uitableview,Xcode5,以下是我的应用程序如何将数据加载到我的UITableView中的顺序: UITableView从空数组加载 应用程序异步获取数据 获取和处理数据后,应用程序调用UITableView reloadData 我目前遇到的问题是,我需要手动稍微滑动UITableView,以便启用UITableView显示获取的数据 目前我正在使用iOS模拟器进行测试 这算正常吗?我能做些什么来显示数据,而不需要用户请求滑动数据 --编辑-- 如果我正确理解你的问题,那么 我猜当您调用[tableView reloa

以下是我的应用程序如何将数据加载到我的UITableView中的顺序:

  • UITableView从空数组加载
  • 应用程序异步获取数据
  • 获取和处理数据后,应用程序调用UITableView reloadData
  • 我目前遇到的问题是,我需要手动稍微滑动UITableView,以便启用UITableView显示获取的数据

    目前我正在使用iOS模拟器进行测试

    这算正常吗?我能做些什么来显示数据,而不需要用户请求滑动数据

    --编辑--


    如果我正确理解你的问题,那么

    我猜当您调用
    [tableView reloadData]
    时,您不在主线程上。试试这个:

    dispatch_async(dispatch_get_main_queue(), ^{
        [tableView reloadData];
    });
    
    编辑并澄清:

    这是因为您的网络请求可能发生在不同的线程上,并且,一旦完成并重新加载表,您仍然处于该后台线程上。当执行UI更新时,您需要在主线程上进行更新,否则会发生奇怪的事情,就像您在这里看到的那样


    上面的代码将在主线程上执行表格更新。

    滑动是否会导致单元格的重用?换言之,滑动时是否有替换的单元格?我已为CellForRowatineXpath添加了代码。能否尝试在
    tableView:(UITableView*)tableView willDisplayCell:(UITableViewCell*))CellForRowatineXpath:(NSIndexPath*)indexPath中设置图像和文本仍然相同。你以前遇到过类似的事情吗?我想你可以按照这里给出的解决方案来做,这真是太棒了。。它正在工作。。和安卓真的不一样。。。看起来我会遇到各种各样的奇怪的事情很高兴我能帮上忙。
    
    dispatch_async(dispatch_get_main_queue(), ^{
        [tableView reloadData];
    });