【问题标题】:iOS 5 Wait for delegate to finish before populating a table?iOS 5 在填充表格之前等待委托完成?
【发布时间】:2012-01-17 16:32:43
【问题描述】:

我正在开发一个 iOS 5 应用程序。我有一个视图控制器,它需要在打开后立即显示数据。所需的功能顺序是:

  1. 调用网络服务
  2. 等待来自 Web 服务(委托)的回复
  3. 填充数据数组
  4. 使用数组填充列表视图
  5. 显示列表视图

我已经准备好所有组件,但是在进行 Web 服务调用之后,程序不会等待回复(异步调用)而是用空白填充列表视图,因为数据数组还没有完全准备好。

所以我需要帮助 (1) 让程序等到委托完成填充数组然后填充列表视图或 (2) 在委托完成后重新初始化列表视图并重新填充整个列表看法。如果我移动列表视图(如向下滚动),我会看到所需的数据,因为视图已重新初始化。所以我知道我已经准备好了所有组件,我只需要让它们按所需的顺序工作。

【问题讨论】:

    标签: objective-c uiviewcontroller ios5


    【解决方案1】:

    如果你的意思是列表视图的“一个 UITableView 实例”,那么让 Web 服务完成加载,然后刷新表格视图:

    - (void) myWebServiceDidFinishLoadingData
    {
        [self.tableView reloadData];
    }
    

    希望这会有所帮助。

    【讨论】:

    • 是的,这就是我所说的“列表”和“表格”的意思——我仍然是使用 iOS 的新手 :)。感谢您的帮助,这个答案正是我所需要的,我将其标记为正确答案。
    • 谢谢,没问题 :) 祝您在 iOS 进一步开发中好运!你可以在 GitHub 上查看我的开源 iOS 项目来学习:github.com/H2CO3
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多