gpt4 book ai didi

ios - Realm 架构版本 0 小于最后设置的版本 1 Swift

转载 作者:可可西里 更新时间:2023-11-01 06:13:46 27 4
gpt4 key购买 nike

我更新了我的数据模型并在应用程序中编写了迁移:didFinishLaunchingWithOptions 每个 Realm 文档:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

let config = Realm.Configuration(

schemaVersion: 1,


migrationBlock: { migration, oldSchemaVersion in

if (oldSchemaVersion < 1) {

}
})

Realm.Configuration.defaultConfiguration = config

let realm = try! Realm()

我最初的 VC 有一个 tableView 并嵌入在调用 Realm 的导航 Controller 中,如下所示:

class AllRoundsVC: UIViewController, UITableViewDelegate, UITableViewDataSource {
let realm = try! Realm()

当我这样离开时,我的应用程序在启动时崩溃并显示“ fatal error :'试试!'表达式意外引发错误:Error Domain=io.realm Code=0 "Provided schema version 0 is less than last set version 1."UserInfo={NSLocalizedDescription=Provided schema version 0 is less than last set version 1.}

但是,当我在导航 Controller 前面放置一个虚拟 VC,并用一个简单的按钮连接到导航 Controller 时,一切正常。我知道这与在初始 VC 之前或之后加载 appDidFinishLaunchingWithOptions 有关。

我的问题是,如何在仍然调用 try! 的同时停止崩溃?我最初的 VC 上的 Realm()?我不想在 tableView 前面保留一个毫无意义的 VC,只是为了加载正确的模式。

谢谢

最佳答案

在对一个不相关的问题做了一些 Realm 研究后,我找到了解决这个问题的方法。这是解决方案的链接! link

How can I get the migration to run before the app starts to run the code?

关于ios - Realm 架构版本 0 小于最后设置的版本 1 Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37175533/

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