gpt4 book ai didi

ios - 核心数据 - 2 个对象模型,1 个或 2 个托管对象上下文 - 哪个更好?

转载 作者:行者123 更新时间:2023-11-29 04:10:15 26 4
gpt4 key购买 nike

我正在开发一个小型 iPhone 记录应用程序,我希望将位置数据数据库与用户记录的数据分开。

我有几个理由将两者分开,包括

1) 我可能会通过应用程序更新推送定期位置数据更新,但我不想冒出现问题并影响用户数据的风险。

2) 位置数据可能会使用户数据相形见绌,因此如果两者是分开的,同步和备份用户文件将会更快。

因此,考虑到我打算拥有两个持久存储,在性能和编码复杂性方面,与 2 个单独的上下文(每个上下文都有自己的持久存储)相比,拥有一个包含两个持久存储的上下文在性能和编码复杂性方面有优势还是劣势?

对此的任何想法都将不胜感激 - 当谈到这些东西时我有点无知 - 提前致谢

西蒙。

最佳答案

我在我的应用程序中实现了类似的功能,我从 2 个数据库加载数据,因为我想将更新推送到特定的数据集。

我的做法是使用 1 个对象模型、1 个托管对象上下文和 2 个持久存储,每个存储加载不同的 sqlite 文件。为此,我在数据模型文件中创建了 2 个配置,然后将适当的实体拖到每个配置中。然后,当您创建持久存储时,请执行以下操作:

[__persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:@"Configuration1" URL:store1URL options:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption, [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil] error:&error];
[__persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:@"Configuration2" URL:store2URL options:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption, [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil] error:&error];

到目前为止,我发现的唯一问题是商店之间无法建立关系。 This answer展示如何使用获取的属性来复制关系。

希望这有帮助。

关于ios - 核心数据 - 2 个对象模型,1 个或 2 个托管对象上下文 - 哪个更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14523423/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com