Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.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
Iphone 线程核心数据_Iphone_Ios_Objective C_Multithreading_Core Data - Fatal编程技术网

Iphone 线程核心数据

Iphone 线程核心数据,iphone,ios,objective-c,multithreading,core-data,Iphone,Ios,Objective C,Multithreading,Core Data,我在这里是想问你我应该如何使用线程核心数据。我要照你说的做 为调用数据库方法的每个控制器类生成ManageObjectContext。我将通过在方法中将控制器名称作为参数传递来获得这个结果。在我的数据库课上。我有一个共享的ManageObjectContext和一个字典,我将在其中设置ManageObjectContext,以便控制器检索或设置。你们能告诉我它有什么缺点吗。我注意到的一点是,所有ManageObjectContexts都将一直保存在内存中。如果有人能提供任何其他方法,请咨询。谢谢

我在这里是想问你我应该如何使用线程核心数据。我要照你说的做


为调用数据库方法的每个控制器类生成
ManageObjectContext
。我将通过在方法中将控制器名称作为参数传递来获得这个结果。在我的数据库课上。我有一个共享的
ManageObjectContext
和一个字典,我将在其中设置
ManageObjectContext
,以便控制器检索或设置。你们能告诉我它有什么缺点吗。我注意到的一点是,所有
ManageObjectContexts
都将一直保存在内存中。如果有人能提供任何其他方法,请咨询。谢谢。

核心数据线程很难。幸运的是,有一个文档记录了如何管理核心数据中的并发性


内存使用是否有问题,只能通过测量内存使用来回答,通常是通过分配工具。托管对象上下文本身是相当便宜的。真正需要回答的问题是,在这些上下文之间复制了多少托管对象本身(实际上,其中包含的数据)。Instruments还具有非常有用的特定于核心数据的instrumentation。

注意:该指南有些过时,没有涵盖iOS 5中引入的队列限制模型,这正是您目前真正应该使用的。@quellish它大量提到队列,并暗指特定于NSManagedObjectContext的队列限制模型文档,其中包含基于队列的API。“线程”一词被大量使用,但线程和队列在并发建模的上下文中基本上是可互换的(队列提供了一个非常轻量级的模型来提供与线程解耦的并发,但实际的并发行为——以及其中的问题——在算法上基本相同)。因此,如果我使用dictioarny并为每个控制器设置上下文,不会占用太多内存?@bbum具体来说,它不包括使用iOS 5中引入的NSManagedObjectContext并发类型。最近修订的NSManagedObjectContext类引用与几个WWDC会话一样