iphone - 假设 ViewControllers 数据源需要花费大量时间来返回结果,这是一种不好的做法吗?

标签 iphone ios cocoa-touch uiviewcontroller objective-c-blocks

我的 ViewController 有一个 dataSource,在我的例子中,它必须从 Web 服务获取数据。当我在 ViewController 中假设数据源方法将花费很长时间并且仅从另一个线程调用它们时,这是不好的做法吗?

所以我执行以下操作:

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

最佳答案

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

  1. 用户触摸单元格
  2. 当前的UIViewController向DataSource请求数据
  3. 数据源向网络服务发出请求。
  4. 完成后,新的 UIViewController 会加载数据。

尽管如此,如果您在单元格上放置一个旋转器或某种显示背景上正在发生某些事情的视觉引用,您可能会给用户带来良好的体验。无论哪种方式,有时都是品味、用户体验甚至客户需求的问题。

Is it bad practise when I assume in my ViewController that the dataSource-methods will take quite long

Murphy Law ...因此,假设这种情况并在发生这种情况时创建必要的机制是一个很好的做法。

关于iphone - 假设 ViewControllers 数据源需要花费大量时间来返回结果,这是一种不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11341679/

相关文章:

ios - iPhone 6+ 屏幕尺寸困惑

iphone - IOS 3 与 IOS 4 库的动态链接

iphone - NSInvocationOperation 和 NSBlockOperation 有什么区别

javascript - 如何使用Javascript在Safari中访问iPhone的新3D触摸?

ios - 带有 SearchBar 的 UITableViewController

objective-c - 更改导航栏色调颜色

iphone - 将 UIImage 用于 CGContextSetFillColorWithColor 时突然出现内存峰值

iphone - UITabBarController UITabBarItems 放在左边但一个在右边

ios - Whatsapp 和 Viber 使用什么机制进行聊天和消息传递

ios - 使用 OCR 识别 double 或 S 中的数字 5