0

我的 ViewController 有一个dataSource,在我的情况下,它必须从 Web 服务中获取数据。当我在 ViewController 中假设 dataSource-methods 需要很长时间并且只能从另一个线程调用它们时,这是不好的做法吗?

所以我做了以下事情:

  1. 显示项目列表
  2. 用户触摸一个单元格
  3. DetailViewController 会立即显示,其父级是其dataSource
  4. 现在的 DetailViewController
    • 显示加载指示器
    • 向 dataSource 询问另一个 Thread 中的数据
    • 完成后隐藏指示器(在主线程上调用)
4

1 回答 1

1

老实说,对于您通常看到的一些方法,我更喜欢这种方法:

  1. 用户触摸一个单元格
  2. 当前UIViewController向 DataSource 询问数据
  3. DataSource 向 Web 服务发出请求。
  4. 完成后,新UIViewController的加载数据。

虽然,如果您在 Cell 上放置一个微调器或某种视觉参考来显示背景上正在发生某些事情,您可能会给用户带来良好的体验。无论哪种方式,它有时都是品味、用户体验,甚至是客户需求的问题。

当我在我的 ViewController 中假设 dataSource-methods 需要很长时间时,这是不好的做法吗

墨菲定律...因此,假设并为何时发生这种情况创建必要的机制是一个很好的做法。

于 2012-07-05T09:46:07.973 回答