i pass previous view controller. want show data save in other view controller.
override func prepareforsegue(segue: uistoryboardsegue, sender: anyobject?) { if (segue.identifier == "beacons") { let nav = segue.destinationviewcontroller as! uinavigationcontroller let svc = nav.topviewcontroller as! beaconcharacteristicviewcontroller svc.selectedlist = sender as! beacons }
and
var selectedlist : beacons!
and code error reason.
i don't use primary key or have use it.
func loadproperties(){ let beacons = selectedlist let priority = dispatch_queue_priority_default dispatch_async(dispatch_get_global_queue(priority, 0)) { do{ try uirealm.write({ () -> void in beacons.uuid = self.beaconuuid.text! print("uuid = \(beacons.uuid)") beacons.major = self.beaconmajor.text! print("uuid = \(beacons.uuid)") beacons.minor = self.beaonminor.text! print("uuid = \(beacons.uuid)") uirealm.add(beacons, update: true) } ) } catch { print("error") } } }
error
terminating app due uncaught exception 'rlmexception', reason: 'realm accessed incorrect thread.'
thank :)))
based on code try uirealm.write
, seems call realm instance of thread in main thread (dispatch block). try create instance.
do{ // create new instance let uirealm = try! realm() try uirealm.write({ () -> void in beacons.uuid = self.beaconuuid.text! print("uuid = \(beacons.uuid)") beacons.major = self.beaconmajor.text! print("uuid = \(beacons.uuid)") beacons.minor = self.beaonminor.text! print("uuid = \(beacons.uuid)") uirealm.add(beacons, update: true) } ) } catch { print("error") }
Comments
Post a Comment