Soy un novato en Realm-Swift. Intentando hacer una inserción de datos simple en la base de datos del reino. Recibo la siguiente advertencia: -

WARNING: An RLMRealm instance was deallocated during a write transaction and
all pending changes have been rolled back. Make sure to retain a reference
to the RLMRealm for the duration of the write transaction. 

Aquí está mi código :-

    //
//  Dog.swift
//  RealmDemo
//
//  Created by RIPA SAHA on 20/07/16.
//  Copyright © 2016 RIPA SAHA. All rights reserved.
//

import Foundation

class Dog {

    dynamic var name = ""

    dynamic var age = ""

}



//
//  ViewController.swift
//  RealmDemo
//
//  Created by RIPA SAHA on 19/07/16.
//  Copyright © 2016 RIPA SAHA. All rights reserved.
//

import UIKit
import RealmSwift

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.



        let myDog = Dog()
        myDog.name = "puppies"
        myDog.age = "5"


        // Get the default Realm
        let realm = try! Realm()

        // Add to the Realm inside a transaction
        realm.beginWrite()


             realm.add(myDog)


        /*realm.add(myDog)
        realm.commitWrite()*/



    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}

Cualquier ayuda sería apreciada...

1
Ripa Saha 21 jul. 2016 a las 08:43

2 respuestas

La mejor respuesta

Sigue este ejemplo:

import Foundation
import RealmSwift

class Dog : Object {
  dynamic var name = ""
  dynamic var age = ""
}
3
George Yacoub 6 ago. 2016 a las 15:03

Envuelva su código de escritura de la siguiente manera:

try! realm.write {
   realm.add(myDog)
}

Esto debería solucionar el problema

1
Luca Nicoletti 21 jul. 2016 a las 07:43