2016-08-29 6 views
1

Ich benutze Realm mobile Datenbank. Ich aktualisiere Realm-Objekte mit dem folgenden Code. Ich möchte einen Rückruf erhalten, unabhängig davon, ob das Realm-Objekt erfolgreich aktualisiert wurde oder nicht.Woher weiß man, ob ein Realm-Objekt erfolgreich aktualisiert wurde?

do { 
    let realm = try Realm() 
    realm.beginWrite() 
    if let Settings = realm.objects(ModelClass).first { 
     Settings.settingsVal = settingsValue 
     realm.add(Settings, update: true) 
    } 
    try realm.commitWrite() 
} 
catch { 

} 
+0

eine Protokollanweisung in den try-Block stecken? – Woodstock

+0

können Sie über Code angeben? – IKKA

Antwort

0

Es gibt eine Reihe von verschiedenen Möglichkeiten, zu erreichen, was Sie zu tun suchen, einschließlich der Verwendung von Verschlüssen/Delegierten einen Rückrufmechanismus zu schaffen, aber der einfachste Weg, zu wissen, dass das Update erfolgreich war wäre Code hinzufügen innerhalb des try Blocks:

do { 
     let realm = try Realm() 
     realm.beginWrite() 
     if let Settings = realm.objects(ModelClass).first { 
      Settings.settingsVal = settingsValue 
      realm.add(Settings, update: true) 
     } 
     try realm.commitWrite() 
      print("Success") 
     } 
     catch{ 

     } 
} 
+0

Ist das über 'addNotificationBlock' möglich? – IKKA

Verwandte Themen