Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.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
从关系数据(iOS)快速创建核心数据关系_Ios_Performance_Core Data - Fatal编程技术网

从关系数据(iOS)快速创建核心数据关系

从关系数据(iOS)快速创建核心数据关系,ios,performance,core-data,Ios,Performance,Core Data,我使用核心数据来存储以“关系”形式发送的服务器数据 例如,我从服务器获得的数据看起来像这样(实际的格式有些不同,但足够相似) 我的核心数据模型在用户和帖子之间建立了一个关系集,并且工作正常。然而,我的问题是,当我从服务器接收到一个新的数据集时,尽可能快地创建这些对象及其关系(而不使用大量的RAM) 问题在于将帖子与用户关联。“正常”的方法是基本上写post.user=user但是,这需要从磁盘加载用户 我目前的计划是加载所有用户,对他们进行故障诊断,并创建一个NSDictionary,将PK映射

我使用核心数据来存储以“关系”形式发送的服务器数据

例如,我从服务器获得的数据看起来像这样(实际的格式有些不同,但足够相似)

我的核心数据模型在用户和帖子之间建立了一个关系集,并且工作正常。然而,我的问题是,当我从服务器接收到一个新的数据集时,尽可能快地创建这些对象及其关系(而不使用大量的RAM)

问题在于将帖子与用户关联。“正常”的方法是基本上写
post.user=user
但是,这需要从磁盘加载
用户

我目前的计划是加载所有用户,对他们进行故障诊断,并创建一个NSDictionary,将PK映射到实际对象。这样我就可以很快找到我需要与帖子关联的用户。然而,对于本质上应该是一个相当简单的操作的东西来说,这个解决方案似乎有点复杂。

我有一个非常类似的情况,最终没有将数据导入到核心数据中,因为重复导入数百个数据对象加上关系太慢了。事实证明,我为这种格式编写的解析器速度足够快,可以实时读取数据(同时滚动TableView等),所以我基本上只是将原始数据保存到磁盘上

解析器需要扩展,它现在输出类似于托管对象的数据对象,这允许使用KVC查询原始数据

我一直使用核心数据来保存用户编辑,并引入了一个数据管理器类来将两个数据源合并在一起


我想这并不是你想要的,但也许会有帮助……

你在
NSDictionary
中将用户保留在内存中的解决方案是合理的。只要您让它们处于故障状态,它们就不应该占用太多内存。有缺陷的钼很小

Users: [{PK: 1, Name: 'A B'}, {PK: 2, Name: 'C D'}, {PK: 3, Name: 'E F'}]
Posts: [{PK: 1, UserPK: 1, Content: '...'}, {PK: 2, UserPK: 3, Content: '...'}]