我不知道这是设计还是xcode / swift中的一个严重错误,但是下击模型在对接中是一个很大的痛苦。首先,我发现NSEntityDescription.insertNewObjectForEntityForName(_:inManagedObjectContext:)
不会让我失去投射到我的模型,除非我将init(entity: NSEntityDescription!, insertIntoManagedObjectContext context: NSManagedObjectContext!)
覆盖为workaround。
我甚至尝试在实体检查器中添加模型名称(即MyApp.Employee)之前的模块名称。正如其他人声称的那样,它在某种程度上对我不起作用。
现在我也发现objectWithId()
不会让我失望。单元测试将因CoreData: warning: Unable to load class named 'Employee' for entity 'Employee' Class not found, using fault NSManageObject instead
而失败。
让employeeFromDB = managedObjectContext.objectWithID(employee.objectID)as 雇员
同样,在模型类前添加模块名称或将objc(Employee)
添加到文件中也不起作用。
预期的行为明显不同于obj-c,并且使移植变得麻烦。
任何人都有类似的经历和解决方案吗?