2016-07-12 17 views
5

Czy można zapisać tablicę obiektów na Realm? Za każdym razem, gdy dokonuję zmiany w tablicy, należy ją zapisać w Królestwie.Zapisywanie macierzy do królestwa w Swift?

Moje obecne rozwiązanie polega na zapisaniu obiektu do obiektu za pomocą for loop. W przypadku obiektów dołączających/modyfikujących wywołanie save() wykona zadanie, ale nie po usunięciu z niego obiektu.

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

Jaki jest sens "RealmDatabase"? Możesz wysłać zapytanie do bazy danych bezpośrednio za pomocą 'realm.objects (CustomObject.self)'. – redent84

Odpowiedz

1

Swift 3

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

a następnie wywołać funkcji mijania tablicę sfery „obiektu:

saveRealmArray(myArray) 

Uwaga: realm.add (obiekty) ma taką samą składnię dodatku funkcja dla pojedynczego obiektu, ale jeśli sprawdzisz za pomocą autouzupełniania zobaczysz, że jest: add (obiekty: Sequence)

Powiązane problemy