我的应用程序使用核心数据,因此可能会因迁移而偶尔出现较长的启动时间。为了在发生这种情况时尝试改善体验,我会异步执行迁移,并且我的应用程序会启动加载视图控制器。
我遇到的问题是,当使用状态恢复时,iOS希望在调用application:willFinishLaunchingWithOptions:
之后恢复应用程序状态,但这可能为时尚早,因为我可能还没有完成设置还有数据存储。当应用程序实际准备开始重新组装时,似乎没有任何异步通知iOS的API。
结果,我看到两个选项:
这两个选项都感觉相当差。一个显着阻碍用户体验,另一个迫使大部分代码库适应单个(应用程序启动时间)问题。是否有其他策略,或UIKit支持的方法?
修改
如果不清楚,两者之间的连接是我想保留(通过状态恢复)视图控制器,这些控制器显示来自核心数据的数据,这样当它们被恢复时,该数据被拉回核心数据和渲染。