2016-07-12 36 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)