在同一个项目中同时使用 Realm Swift 和 Realm Objective-C

Posted

技术标签:

【中文标题】在同一个项目中同时使用 Realm Swift 和 Realm Objective-C【英文标题】:Use both Realm Swift and Realm Objective-C in same project 【发布时间】:2017-08-23 18:26:04 【问题描述】:

我正在尝试。

我正在开发一个用 Objective-C 编写的项目,我正在将它逐步迁移到 Swift。我现有的 Realm 模型是使用 Realm Objective-C 用 Objective-C 编写的。我想使用 Realm Swift 制作用 Swift 编写的新模型。我知道我可以将 Swift 与 Realm Objective-C 一起使用,但我不想这样做。我的计划是在从 Objective-C 迁移到 Swift 结束时,我将删除 Realm Objective-C 并仅使用 Realm Swift。

关于如何实现这一点的任何想法?

【问题讨论】:

【参考方案1】:

不支持您要求的内容。引用Realm Swift documentation的第一段:

如果您希望从 Objective-C 或混合的 Objective-C 和 Swift 应用程序中使用 Realm,请参阅 Realm Objective-C。 Realm Objective-C 和 Realm Swift API 不可互操作,不支持一起使用。

我建议在将代码库迁移到 Swift 时使用 Swift 的 Realm Objective-C,然后在不再从 Objective-C 访问模型类时切换到 Realm Swift。

【讨论】:

以上是关于在同一个项目中同时使用 Realm Swift 和 Realm Objective-C的主要内容,如果未能解决你的问题,请参考以下文章

在Realm swift中重命名类的最佳方法

如何使用 Realm 选择当前项目以从 Swift 中的数组中删除它

Swift-Realm数据库的使用详解

如何在 Swift for Realm 模型中设置主键

将Realm从Swift 4转换为Swift 3

使用 Swift 过滤 Realm 对象