Kısa bir süre önce yeni bir şube oluşturdum ve Realm
değerini CoreData
üzerinden vermek için kodumun çoğunu yeniden oluşturmayı denedim. Ama şu ana kadar kodumu çalıştırmak için hiç şansım olmadı.RealmSwift: Farklı şema sürümüyle zaten açılan yoldaki bölge
İlk olarak, shared_realm.cpp dosyasında bir istisna atılır. hatayı atar kod satırı: Ben bu istisna üzerine atlarsanız
if (realm->config().schema_version != config.schema_version && config.schema_version != ObjectStore::NotVersioned) {
throw MismatchedConfigException("Realm at path already opened with different schema version.");
}
, aşağıdaki kod ikinci satırında yakalar:
class func getAllCategories() -> Results<Category> {
let realm = try! Realm()
let categories = realm.objects(Category)
return categories
}
Ve bu hata mesajını atar:
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}
Ben Realm için tamamen yeniyim, bu nedenle herhangi bir yardım takdir edilmektedir. Belgelerimden anladığım kadarıyla, Realm()
, varsayılan veritabanına erişmenin en uygun yoludur, bu da şu anki amacım için uygun. İlk başta belki de bir Diyarın etrafından geçmesi gerektiğini düşündüm, ancak çevrimiçi örneklerden bunun göründüğü gibi olmadığını görüyorum.
Temizledim, simülatörleri değiştirdim ve hatta Xcode'u güncelledim. Ayrıca bu kod satırını şu şekilde yorumlamaya çalıştım:
no boşuna. Oldukça kayıp hissetmek, böylece herhangi bir yön takdir edilir.
Realm için varsayılan yapılandırmayı kurmak için Realm 'Configuration' nesnesinin herhangi bir yeri var mı? Öyleyse, lütfen buraya postalayabilir misiniz? Ayrıca, 'Category' nesnesinde çok fazla geliştirme değişikliği yapıyorsanız, Realm dosyasını disk üzerinde silmeyi ve Realm'ın yeni bir tane oluşturmasını sağlamayı denediniz mi? – TiM