我使用Xcode 6 beta 2在一个小小的iPhone项目上测试了swift.该项目使用核心数据访问数据模型中的2个实体(用户/合同).在IOS模拟器内部一切正常.
问题:当我为IOS7构建应用程序并在我的iPhone5s上运行应用程序(运行IOS 7.1.1)时,程序只能将数据保存到第一个实体(如核心数据模型=用户中所定义).对于所有其他实体,NSEntityDescription.entityForName(...)为"nil".在managedObjectModel(println(managedObjectModel))中包含所有实体.好像数据模型没有正确包含在IOS7上的SQL数据库中?!有没有人有解决方案/想法?谢谢 :-)
var myAppDel:AppDelegate = UIApplication.sharedApplication().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)
Run Code Online (Sandbox Code Playgroud)
错误:由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'+ entityForName:无法在此模型中找到名为'Contract'的实体.