我是一名初学者,我与我的朋友进行了这场小小的辩论,他是一位拥有五年以上经验的Ruby和rails开发人员,并且基本上为网络工作,我知道他得到的信息来自各种演讲他去过。
所以,我正在学习和建设一个项目。该项目需要从其他设备获取数据,并从管理员设备向其他用户发送数据。
我想构建这个应用程序,以便在设备出于某种原因离线时(用户可以旅行,并且发现自己没有信号)能够保存数据。
我的朋友说我不需要将数据保存到设备中,或者不使用CoreData,我可能需要某种类型的缓存来在设备离线时临时保存数据。
我告诉他,这不像天气应用,你只下载数据并显示给用户,我需要更改数据并将其发送回服务器,以便其他用户看到更改。
所以,我的问题是:
我是否需要在设备离线时使用CoreData在本地保存数据并向解析JSON的服务发送请求?
哪种方法最好?
非常感谢您的时间和知识!
答案 0 :(得分:0)
我的朋友说我不需要将数据保存到设备中,或者不使用CoreData,我可能需要某种类型的缓存来在设备离线时临时保存数据。
如果设备上没有缓存,您的朋友会认为缓存位于何处?缓存但不保存数据是相互矛盾的想法。
核心数据可用作离线缓存。还有其他选项,包括保存属性列表文件和直接使用SQLite。哪一个最好取决于您将如何使用应用程序中的数据。
我需要在设备离线时使用CoreData在本地保存数据,还是使用CoreData保存所有内容并使用解析JSON文件向服务器发送请求?
请注意,我们没有详细描述您的应用
一种常见的方法是从服务器请求数据并在本地保存。访问应用程序中的数据时,请在本地副本中查找。保持服务器通信和本地数据访问分开;如果它们是相同的东西,那么您直接与服务器通信以获取所有数据并且没有离线访问权限。跟踪本地更改,以便将它们发送回服务器。