Ich benutze RealmSwift in meiner MacOS/OSX-Anwendung auf OSX 10.12.3 und Realm stürzt mit nicht abgefangener Ausnahme ab, wenn ich versuche, ein Objekt aus der Datenbank zu bekommen.Realm Swift Absturz mit nicht abgefangener Ausnahme beim Versuch, Objekt zu bekommen
Hier ist der Code-Schnipsel, die auf dem get Objekt func stürzt:
private var database: Realm!
init(some_var: String) {
var configuration = Realm.Configuration()
configuration.fileURL = configuration.fileURL!.deletingLastPathComponent().appendingPathComponent("\(some_var).realm")
do {
debugPrint("Inside init: Current thread \(Thread.current)")
self.database = try Realm(configuration: configuration)
} catch {
debugPrint("realmInit: Can't create realm database.")
}
}
func getObject<T: Object, K>(with primaryKey: K) -> T? {
debugPrint("Inside getObject: Current thread \(Thread.current)")
return self.database.object(ofType: T.self, forPrimaryKey: primaryKey) // THIS LINE THROWS EXCEPTION
}
ich einen Absturz mit einer abgefangene Ausnahme erhalten:
"Inside init: Current thread <NSThread: 0x600000075700>{number = 5, name = (null)}"
"Inside getObject: Current thread <NSThread: 0x600000075700>{number = 5, name = (null)}"
libc++abi.dylib: terminating with uncaught exception of type NSException
Zuerst dachte ich, es ist ein Threading-Problem war, aber Sie können sehen, dass ich den Realm und GetObject auf dem gleichen Thread initalisieren.
Jede Hilfe würde bitte geschätzt werden?
höchstwahrscheinlich configuration.fileURL == nil, warum verwenden Sie das seltsame erzwungene Auspacken? – user3441734
Interessant, ich werde versuchen zu sehen, ob das das Problem ist und antworte zurück, was ich finde. Ich bin mir nicht wirklich sicher, warum ich zwinge, das tbh auszupacken, ich denke, ich muss es irgendwo abgeholt haben. – Gix
Das war nicht das Problem, siehe Antwort unten. – Gix