2017-03-26 1 views
0

私はエラーがあります:レルムスキーマのバージョン

「提供されたスキーマバージョン0は、最後に設定されたバージョン7より小さいです。ちょうど1つのNSViewControllerクラス上の

とき

let realm = try! Realm() 

他のコントローラを表示しても問題ありません。これは、レルムファイルの内部スキーマのバージョン番号は7ですが、デフォルトのレルムにConfigurationオブジェクトを使用している場合、それはまだ0

であることを意味し

答えて

1

いくつかの助け...これは、レルムファイルが複数の移行を行ったことを意味し、完了したとしてもそれをConfigurationオブジェクトに反映させる必要があるため、レルムは別の移行を実行する必要がないと考えます。

let config = Realm.Configuration(
schemaVersion: 7, 
migrationBlock: { migration, oldSchemaVersion in 
    // Any migration logic older Realm files may need 
}) 

Realm.Configuration.defaultConfiguration = config 

let realm = try! Realm() 

移行システムの仕組みの詳細については、Migrations in the Realm docsのセクションを参照してください。 :)

+0

こんにちはTiM、私はすべてのバージョンでRealm.Configurationを更新しています。私はschemaVersionを持っています:私の設定で7。メインビューのビューコントローラにRealm()のインスタンスを作成する際に問題が発生しました。他のビューコントローラでうまく動作します。 – JoseIgnacio

+0

ええと、あなたはそのView Controllerをどのようにインスタンス化していますか?あなたはストーリーボードでやっていますか? – TiM

関連する問題