我已经阅读了 Apple 文档和 Ray Wenderlich 的教程。看来我被迫使用 UIDocument 所以我在文档中阅读了它。我发现使用基于文档的方法是有效的。
我的问题是我不想被特定于平台(iOS)的技术所束缚,因此我的应用程序有自己的模型,从头开始制作,只继承自 NSObject。这包括保存/加载。
现在,我需要将 iCloud 与我的旧模型集成在一起。我将如何以一种优雅/有效的方式来保持我的旧模型实现并能够集成 iCloud?
我已经阅读了 Apple 文档和 Ray Wenderlich 的教程。看来我被迫使用 UIDocument 所以我在文档中阅读了它。我发现使用基于文档的方法是有效的。
我的问题是我不想被特定于平台(iOS)的技术所束缚,因此我的应用程序有自己的模型,从头开始制作,只继承自 NSObject。这包括保存/加载。
现在,我需要将 iCloud 与我的旧模型集成在一起。我将如何以一种优雅/有效的方式来保持我的旧模型实现并能够集成 iCloud?
您不会以任何方式被迫使用UIDocument
. 您可以通过NSFileManager
和使用 iCloud NSMetadataQuery
。一般的做法是:
-[NSFileManager setUbiquitous:itemAtURL:destinationURL:error:]
将文件传输到 iCloud 存储。NSMetadataQuery
(如有必要)使用或轮询 URL 资源值检查上传进度。NSMetadataQuery
定位 iCloud 常驻文件-[NSFileManager startDownloadingUbiquitousItemAtURL:error:]
开始下载或将本地副本与云副本同步。NSMetadataQuery
使用或通过轮询 URL 资源值来检查上传进度[NSURL resourceValuesForKeys:]
。NSFileCoordinator
ubiquity 守护程序协调您的文件访问。NSFilePresenter
获取文件更改的通知。这在 WWDC 2012(也许是 2011 年,我不记得)的会议中都有介绍,您需要的类和方法都在 iOS 文档中。