Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 核心数据和REST_Objective C_Ios_Oop_Core Data - Fatal编程技术网

Objective c 核心数据和REST

Objective c 核心数据和REST,objective-c,ios,oop,core-data,Objective C,Ios,Oop,Core Data,我正在开发一个iOS应用程序,它处理通过基于web的restapi读取和写入的不断变化的数据。 我希望在应用程序的整个生命周期中保留一些数据,但我也希望在用户退出应用程序时重置并重新加载这些数据 我应该为此使用核心数据吗?如果没有,是否有一种简单的方法可以在应用程序的整个生命周期中保存数据(例如,单例类?)。你们推荐什么?使用核心数据是否有好处?如果可能的话,我想避免使用核心数据,因为这是一种设置的痛苦 提前感谢我将使用单例类来完成此任务……不过,iOS会让事情变得更复杂,因为如果内存不足,它会

我正在开发一个iOS应用程序,它处理通过基于web的restapi读取和写入的不断变化的数据。 我希望在应用程序的整个生命周期中保留一些数据,但我也希望在用户退出应用程序时重置并重新加载这些数据

我应该为此使用核心数据吗?如果没有,是否有一种简单的方法可以在应用程序的整个生命周期中保存数据(例如,单例类?)。你们推荐什么?使用核心数据是否有好处?如果可能的话,我想避免使用核心数据,因为这是一种设置的痛苦


提前感谢

我将使用单例类来完成此任务……不过,iOS会让事情变得更复杂,因为如果内存不足,它会退出你的应用程序。在这种情况下,如果您想要持久化数据,您需要将其写出,核心数据是一个很好的选择。但是,如果你觉得如果你的应用程序被逐出,你可以重新加载所有内容,那么请不要乱动它。

我会使用单例类……不过,iOS让事情变得有点复杂,因为如果内存不足,它会退出你的应用程序。在这种情况下,如果您想要持久化数据,您需要将其写出,核心数据是一个很好的选择。但是,如果您觉得如果您的应用程序被逐出,您可以重新加载所有内容,那么请不要乱动它。

核心数据不是关于保存数据,核心数据是关于运行时的建模数据。持久性只是一种选择。如果您对将数据持久化到磁盘不感兴趣,只需使用具有内存存储的核心数据即可

核心数据与保存数据无关,核心数据与运行时的建模数据有关。持久性只是一种选择。如果您对将数据持久化到磁盘不感兴趣,只需使用具有内存存储的核心数据即可

有一个开源项目,允许核心数据绑定到REST API:


你也可以调查一下。尽管它目前没有与核心数据相结合,但在不久的将来有计划支持它。就个人而言,核心数据可能会给一些问题增加太多的复杂性,而将JSON文档映射到ObjC对象并不困难。CouchDB允许您轻松地在设备和服务器之间同步数据。

有一个开源项目,允许将核心数据绑定到REST API:


你也可以调查一下。尽管它目前没有与核心数据相结合,但在不久的将来有计划支持它。就个人而言,核心数据可能会给一些问题增加太多的复杂性,而将JSON文档映射到ObjC对象并不困难。CouchDB允许您轻松地在设备和服务器之间同步数据。

通常,当涉及的数据太少而无法花费时间和精力建立核心数据上下文时,iOS开发人员使用plist文件。这种格式类似于JSON,因为它只允许数组、字典、数字、字符串和日期对象。要将字典或数组保存为plist文件,只需调用writeToFile:atomicaly:method,然后使用initWithContentsOfFile:initializer读取它。

通常,当涉及的数据太少而无法花时间和精力设置核心数据上下文时,iOS开发人员使用plist文件。这种格式类似于JSON,因为它只允许数组、字典、数字、字符串和日期对象。要将字典或数组保存为plist文件,只需调用writeToFile:atomicaly:method,并使用initWithContentsOfFile:initializer读取它。

正如TechZen所提到的,CoreData是关于建立模型的。然后,您可以继续并覆盖模型填充和持久化的方式:本地、通过网络(REST)等


当然,在设计模型时,一开始会有一点“开销”,但之后,您可以更改模型的加载/持久化方式(例如,通过单例/内存中的连接),而无需更改应用程序的其余部分。因此,视图控制器基本上与这些更改隔离。

正如TechZen所提到的,CoreData是关于建立模型的。然后,您可以继续并覆盖模型填充和持久化的方式:本地、通过网络(REST)等


当然,在设计模型时,一开始会有一点“开销”,但之后,您可以更改模型的加载/持久化方式(例如,通过单例/内存中的连接),而无需更改应用程序的其余部分。因此,视图控制器基本上与这些更改隔离。

+1描述核心数据的另一种方法是作为一种对象图。它可以存储数据之间的多个关系(以硬关系和松散获取的属性的形式)。ORM功能只是核心数据的另一个优点。+1描述核心数据的另一种方式是作为一种对象图。它可以存储数据之间的多个关系(以硬关系和松散获取的属性的形式)。ORM功能只是Core Data的另一个优点。RestKit有很好的潜力,但他们的文档已经过时,如果你在他们当前版本的框架上尝试他们的示例,它甚至不会构建。因此,对于潜在路径和基本路径+1,而对于doc.RestKit的不匹配-2,具有很好的潜力,但它们的文档已经过时,如果您在其当前版本的框架上尝试它们的示例,它甚至不会构建。潜在路线和基本路线为+1,但文档不匹配为-2。