Pase NSManagedObject de un controller de vista a otro

Estoy desarrollando una aplicación basada en la vista de tabla utilizando CoreData con Swift. Estoy intentando pasar un NSManagedObject de un controller de vista a otro. A continuación se muestra mi código y error que obtengo.

En ViewController1.swift , tengo el siguiente código:

 override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) { if segue.identifier == "Edit" { var selectedItem: NSManagedObject = myData[self.tableView.indexPathForSelectedRow().row] as NSManagedObject let vc2: ViewController2 = segue.destinationViewController as ViewController2 vc2.item = selectedItem } } 

En ViewController2.swift :

 class ViewController2: UIViewController { @NSManaged var item : NSManagedObject override func viewDidLoad() { super.viewDidLoad() } // Other default func } 

Error cuando segue a ViewController2 :

 [_TtC6myData18ViewController2 setItem:]: unrecognized selector sent to instance 0x111530000 

El calificador @NSManaged solo se supone que se usa para las properties en una subclass NSManagedObject, por lo que no debe usarse en su situación. Esto debería funcionar,

 class ViewController2: UIViewController { var item : NSManagedObject! override func viewDidLoad() { super.viewDidLoad() } // Other default func } 

Establezca un punto de interrupción en las excepciones para que pueda ver cuál es el error / post real en la NSException . También podrás ver dónde se lanza.