2017-02-07 1 views
1

Hier ist mein Code, in dem ich untergeordnete Objekte tauschen will (Ursprung und Ziel) in Realm:Swap Elemente innerhalb Realm Objekts

class TrainSearchOptions: Object { 
    dynamic var origin: Station? 
    dynamic var destination: Station? 
    dynamic var date: Date? 

    func swapPlaces() { 
     guard origin != nil && destination != nil else { 
      fatalError() 
     } 

     swap(&origin!, &destination!) 
    } 
} 

Aber das abstürzt. Irgendwelche Ideen?

+0

Können Sie bitte weitere Informationen über den Absturz geben? – bdash

Antwort

0

Sie müssen dies in Realm schreiben Transaktion tun.

do { 
     try realm.write { 
      swap(&origin!, &destination!) 
     } 
    } catch let error as NSError { 
     print(error) 
    } 
} 
+0

Nicht unbedingt können Sie ein Realm-Objekt außerhalb einer Schreibtransaktion aktualisieren. Die Transaktion ist nur erforderlich, wenn Sie das Objekt hinzufügen/löschen/aktualisieren. –

+0

Es hat tatsächlich funktioniert. –

+0

Entschuldigung, mein Schlechter. Ich habe mich komplett geirrt, da mein Kommentar nur bei unmanaged Objekten gültig war. –

Verwandte Themen