gpt4 book ai didi

ios - 维护 Realm 的多个实例

转载 作者:行者123 更新时间:2023-11-28 21:19:30 25 4
gpt4 key购买 nike

我正在开发一个 SDK ,一个将出售给第三方的静态库。这个静态库将使用 Relam 作为数据存储。

我正在计划这样一个场景:我的客户在他的应用程序上也有一个使用 Relam 的数据存储。我不希望他们更改/迁移他们的数据存储,因为他们正在合并我的 SDK。

使用 Relam 时我们可以有多个数据存储/实例吗?

或者还有其他更好的方法来处理这种情况吗?

最佳答案

我会分两部分回答这个问题:

第 1 部分 - 代码架构

如果您在库中内部使用 Realm,并且您担心您对 Realm 的使用可能会渗透到用户的代码中(如果他们也在使用 Realm),那么有一些方法可以缓解这种情况。

您是正确的,因为使用 RLMRealmConfiguration 可以让您正确地将您的大部分 Realm 实现与他们的分开。您可以使用 fileURL 属性明确指定您的 Realm 文件将保存在哪里,并使用 objectClasses 属性明确定义只有您自己的 RLMObject类将被保存到它。

这可能需要测试,但反之亦然。 Realm 默认使用 Objective-C 反射来添加所有 RLMObject 类。因此,除非用户还在其配置中指定 objectClasses,否则您的库模型对象的架构可能会出现在其 Realm 文件中。这将是无害的,但对用户来说可能看起来很奇怪。

第 2 部分 - 分发

在一个静态二进制文件中包含同一框架的两个副本并不是一件好事。尤其是当可以想象用户可以开始使用比您库中的版本更新的 Realm 版本时。因此,我绝对建议将 Realm 保留为您的库的动态框架依赖项;因此您的库和用户的代码都可以针对相同的代码库。

关于ios - 维护 Realm 的多个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40254219/

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