ios - 升级 Swift Realm Braking Changes,我可以更改类名或如何解决冲突?
问题描述
我正在将Realm一个 iOS Swift 应用程序从5.5.1
使用10.12.0
Cocoa Pods 更新。
public typealias User = RLMUser
此更新有一个与我自己的冲突的重大更改public final class User: Object
。重构为另一个名称会使我的应用程序assert(object.realm != nil)
在读取此用户类时崩溃。
是因为我已经重命名了我的班级并且领域数据库期待它的数据库中的旧名称吗?或者我应该在应用程序启动时进行某种合并?
或者我应该创建自己的分支来更改 Pod 中的“typealias User = RLMUser”?
解决方案
是因为我已经重命名了我的班级并且领域数据库期待它的数据库中的旧名称吗?
是的。您可以通过按照此处所述进行迁移来解决此问题,也可以覆盖_realmObjectName
:
class RenamedUser: Object {
...
override class func _realmObjectName() -> String? {
"User"
}
}
这种方式,对于 Realm,RenamedUser
仍然被称为User
,但对于 Swift,它被称为RenamedUser
。
推荐阅读
- css - 仅类型,但也仅适用于 2 和 3 类型
- angular - 在 Angular 8 中生成带有组件和路由的模块(使用 angular cli 命令)
- c++ - C++ 合并 2 wchar_t*
- c# - 是否可以使用 switch 语句管理循环?
- php - 在 PHP 中,如何使用 cURL 从 web 目录下载多个相同类型的文件?
- reactjs - 启动 npm 服务器时出现错误
- android - 以编程方式将 strokeColor 设置为 CardView
- swift - 如何一次关闭我的 DimmingView 和 SlideMenu?
- java - 使用 setOnItemClickListener 接口时无法从 ListView 接收值
- javascript - 如何获得不包括背景的视频高度宽度