2016-07-12 35 views
5

是否可以將一組對象保存到Realm?每當我對陣列進行更改時,都應將其保存到Realm中。將數組保存到Swift中的領域?

我目前的解決方案是保存對象的對象for loop。對於調用save()的追加/修改對象將執行該任務,但不會在我從中刪除對象時執行該任務。

class CustomObject: Object { 
    dynamic var name = "" 
    dynamic var id = 0 

    override static func primaryKey() -> String? { 
    return "id" 
    } 
} 

struct RealmDatabase { 

    static var sharedInstance = RealmDatabase() 

    var realm: Realm! 

    let object0 = CustomObject() 
    let object1 = CustomObject() 

    var array = [object0, object1] 

    init() { 
     self.realm = try! Realm() 
    } 

    func save() { 

     for object in self.array { 
      try! self.realm.write { 
       self.realm.add(object, update: true) 
      } 
     } 
    } 

} 
+1

「RealmDatabase」有什麼意義?您可以使用'realm.objects(CustomObject.self)'直接查詢數據庫。 – redent84

回答

1

夫特3

func saveRealmArray(_ objects: [Object]) { 
     let realm = try! Realm() 
     try! realm.write { 
      realm.add(objects) 
     } 
    } 

然後調用傳遞的境界「對象的陣列中的功能:

saveRealmArray(myArray) 

注:realm.add(對象)具有附加的相同的語法函數爲一個單一的對象,但如果你檢查自動完成,你會看到有:add(objects:Sequence)