切换视图控制器后如何保持加载来自 iCloud(CloudKit)的数据

Posted

技术标签:

【中文标题】切换视图控制器后如何保持加载来自 iCloud(CloudKit)的数据【英文标题】:How to keep data from iCloud(CloudKit) loaded after switching view controllers 【发布时间】:2015-05-02 02:30:41 【问题描述】:

我正在使用 CloudKit 制作应用程序,但我最近遇到了一个问题。在我的应用程序中,一旦主视图控制器加载,它就会关闭并从 iCloud 获取数据。问题是当我转到另一个视图控制器然后回到主视图控制器时,它会再次开始获取。我希望能够使用已经获取的数据,有什么办法可以做到这一点吗?也许我暂时将它保存到 CoreData 中?

【问题讨论】:

【参考方案1】:

有几种方法可以解决这个问题。

您需要将数据和上下文从一个视图控制器传递到下一个视图控制器。确保删除第二个视图控制器中的代码以重新获取数据。

我选择这样做的方式是像这样在 prepareForSegue 函数中将数据从一个传递到另一个。

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
    
        if segue.identifier == "mysegue"
                   let destinationViewController = (segue.destinationViewController as! UITabBarController) as! SecondViewController
                    destinationViewController.myData = myData
                    destinationViewController.context = stack.context
        
   

【讨论】:

以上是关于切换视图控制器后如何保持加载来自 iCloud(CloudKit)的数据的主要内容,如果未能解决你的问题,请参考以下文章

来自 WKWebview 的 iCLoud 文档选择器关闭容器视图

切换到另一个视图控制器时,如何保持标签栏可见? [关闭]

加载视图时导航栏跳跃

延迟切换uiviews

如何按添加日期组织 icloud 数据?

如何设置选择器视图以显示来自多个矩阵选项的数据?