最近新しいブランチを作成し、以上のショットをRealm
に与えるようにコードの多くをリファクタリングしようとしました。しかし、これまで私はコードを稼働させる運がなかった。RealmSwift:別のスキーマバージョンですでに開かれているパスのレルム
まず、shared_realm.cppで例外がスローされます。エラーをスローしたコードの行は、次のとおりです。私はこの例外をスキップした場合
if (realm->config().schema_version != config.schema_version && config.schema_version != ObjectStore::NotVersioned) {
throw MismatchedConfigException("Realm at path already opened with different schema version.");
}
が、それは次のコードの2行目にキャッチ:
class func getAllCategories() -> Results<Category> {
let realm = try! Realm()
let categories = realm.objects(Category)
return categories
}
そして、このエラーメッセージがスローされます。
fatal error: 'try!' expression unexpectedly raised an error: Error Domain=io.realm Code=1 "Realm at path already opened with different schema version." UserInfo={NSLocalizedDescription=Realm at path already opened with different schema version., Error Code=1}
私はRealmにとって全く新しいので、助けてください。ドキュメントからの私の理解は、Realm()
がデフォルトのデータベースにアクセスする適切な方法であることです。これは現時点での私の目的にとっては問題ありません。最初は私はおそらくレルムが回らなければならないと考えましたが、私はオンラインの例から、これが当てはまるとは思わないことを見ています。
私は、シミュレータを変更し、Xcodeを更新しました。また、このコード行を次のようにコメントアウトしようとしました。
// FIXME - enable schema comparison
/*if (realm->config().schema != config.schema) {
throw MismatchedConfigException("Realm at path already opened with different schema");
}*/
かなり失われているので、どんな方向にも感謝しています。
レルムのデフォルトコンフィグレーションを設定するには、どこのレルムの「コンフィグレーション」オブジェクトを使用していますか?もしそうなら、ここに投稿してください。さらに、 'Category'オブジェクトの開発変更をたくさんしている場合は、ディスク上のRealmファイルを削除して、Realmで新しいファイルを作成しようとしましたか? – TiM