Swift: Core Data en el dispositivo IOS7 -> entityForName en la segunda entidad es nula

He probado rápidamente en un pequeño proyecto de iPhone usando Xcode 6 beta 2. El proyecto usa datos centrales para acceder a 2 entidades (Usuario / Contrato) en un model de datos. Dentro del simulador IOS todo funciona bien.

Problema: cuando compongo la aplicación para IOS7 y pruebo la aplicación en mi iPhone5s (con IOS 7.1.1), el progtwig solo puede save datos en la primera entidad (tal como se define en el núcleo de datos model = Usuario). Para todas las demás entidades, NSEntityDescription.entityForName (…) es "nil". En managedObjectModel (println (managedObjectModel)) se incluyen todas las entidades. Parece que el model de datos no es correcto incluido en la database SQL en iOS7 ?! ¿Alguien tiene una solución / idea? Gracias 🙂

var myAppDel:AppDelegate = UIApplication.shanetworkingApplication().delegate as AppDelegate var myContext:NSManagedObjectContext = myAppDel.managedObjectContext println(NSEntityDescription.entityForName("User", inManagedObjectContext: myContext)) println(NSEntityDescription.entityForName("Contract", inManagedObjectContext: myContext)) var newContract:AnyObject = NSEntityDescription.insertNewObjectForEntityForName("Contract", inManagedObjectContext: myContext) newContract.setValue("" + txtContract.text, forKey: "contractName") myContext.save(nil) var newUser = NSEntityDescription.insertNewObjectForEntityForName("User", inManagedObjectContext: myContext) newUser.setValue("" + txtUsername.text, forKey: "userName") newUser.setValue("" + txtPassword.text, forKey: "userPass") newUser.setValue(newContract, forKey: "contracts") // Save Relationship myContext.save(nil) 

Error: Terminar la aplicación debido a la exception no detectada 'NSInternalInconsistencyException', razón: '+ entityForName: no se pudo encontrar una entidad llamada' Contrato 'en este model.'

Parece ser un error por ahora. Como se explica en esta publicación: https://devforums.apple.com/message/996259#996259 .

La solución para este error es utilizar un NSString en lugar de pasar una cadena como el nombre de la entidad:

  let myEntity: NSString = "EntityName" var fetchRequest = NSFetchRequest(entityName: myEntity)