数据应放置在watchOS应用程序的何处?

时间:2019-06-04 16:15:52

标签: ios swift watchkit apple-watch watch-os-2

我一直在浏览所有与创建watchOS应用,复杂性等相关的Apple文档和视频。仔细研究更新数据和用户界面的流程-但是我没有设法解决一件事。

在所有相关的视频和文档中,都有解释说,URLSession下载任务结束后,应用程序应更新其数据模型并请求系统安排快照更新。

我的问题是:数据模型应该存储/保存在哪里?甚至有必要吗?我应该使用核心数据吗?内存中的单例对象? SQLite?用户默认值?一个简单的JSON文件?在为watchOS编写应用程序时,保持数据模型的首选方法是什么?

我希望存储一系列非常简单的对象(例如,联系人列表,每个联系人都有一个姓名,地址和电话号码,所有这些对象均表示为String个对象)

这里是WWDC 2016会话的链接,名为“保持手表应用程序最新”,其中解释了我提到的大多数任务和最佳实践- WWDC 2016: Keeping Your Watch App Up to Date

1 个答案:

答案 0 :(得分:2)

通常最佳实践是将watchOS的持久数据存储在云中或在随附的iPhone应用程序中。我的猜测是您的来源通过“数据模型”所指的是活动存储中的数据,即应用程序打开时的数据。尤其是如果不需要,您不应该在本地存储冗余数据。不适用于watchOS。

话虽如此,watchOS确实可以访问CoreData和NSCoding方法。我不确定NSUserDefaults-但我还是不会将其用于数据存储。 (这也是iOS的一般原则:CoreData用于数据,UserDefaults用于用户首选项。)Here是类似的线程,说明了如何完成此操作。

但是我强烈建议在将数据存储在手表上之前找到替代方法-那里没有足够的持久存储空间。

编辑:查看Apple的WatchKit docs,以获取有关您的选项的更多详细信息。