【发布时间】:2016-03-09 00:46:41
【问题描述】:
我有一个像 Document->Section->Value 这样的对象模型,但 Value 也可以是表类型,所以我有 Value->Row->Column->Value。所以最坏的情况是 Document->Section->Value->Row->Column->Value 这会导致很多对象。
当我从后端收到更新时,我需要将收到的 JSON 膨胀到 CoreData 对象中并保存它,这可能很耗时。更糟糕的是,如果用户离线,可能会出现大量等待更新的队列,这可能需要几分钟或更长时间才能赶上。
例如,我设置了一些计时器来尝试定位“最坏情况”事务,并发现单个文档更新需要 1.3 秒。该文档包含 5 个部分、2 行、14 列和 425 个值。这是大量的对象创建,我并不感到惊讶它需要一段时间。问题是我该如何改进?
我正在考虑迁移到 blob 式存储,其中文档对象像现在一样维护自己的属性,但所有内容对象都只是变成了一个大字典。只有一个对象供 CoreData 创建和保存,应该会使更新更快。
然后我只需要将它膨胀成一个临时对象图,以便在 UI 中显示和交互。这是一个好方法还是有更好的选择?
Realm 也有人向我推荐过,但我想它也会被如此多的嵌套对象所困。
【问题讨论】:
标签: ios objective-c core-data persistence