【发布时间】:2018-11-07 21:19:52
【问题描述】:
我的应用与类似于 Apple Mail 应用的服务器同步。虽然同步发生在后台线程上,因为它对核心数据的影响很大,但我发现有必要在同步期间阻止与用户控件的交互,以免其他一些操作影响核心数据并产生问题。
我一直在 View Will Appear 中进行同步,以保持手机和服务器持续同步。但是,对于大量数据,我注意到同步时间长得令人无法接受……也就是说,它会占用线程五到十秒钟。我尝试将它放在 viewdidload 中,以减少调用它的频率,但是当您刚刚打开应用程序时等待仍然很烦人。
我注意到 Apple 不会立即同步邮件,而是等待几秒钟,以免一开始就占用应用程序。这会给您一种错觉,您不必等待(尽管实际上您通常会这样做)。
我想知道生命周期中是否有一个位置更适合同步,例如 viewdidappear 以及是否有一种方法可以在您进入视图后 5 或 10 秒使用延迟来启动同步控制器不那么显眼。
提前感谢您的任何建议。
【问题讨论】: