这是我的功能:
func addtestData() {
guard let entity = NSEntityDescription.insertNewObject(forEntityName: "Device", into: NSManagedObjectContext) else {
fatalError("Could not find entity description!")
}
for i in 1...25 {
let device = NSManagedObjectContext(entity: entity, insertIntoNSManagedObjectContext: NSManagedObjectContext?)
device.setValue("Some device #\(i)", forKey: "name")
device.setValue(i % 3 == 0 ? "Watch" : "iPhone", value(forKey: "deviceType"))
}
}
抛出以下错误:
Cannot convert value of type 'NSManagedObjectContext.Type' to expected argument type 'NSManagedObjectContext'?
答案 0 :(得分:0)
请尝试理解错误消息:
与Core Data相关的两种方法都需要实例 NSManagedObjectContext
- 根据命名约定,变量以小写字母开头 - 而不是< strong>类型 NSManagedObjectContext
例如,在这一行:
let number : Int = 0
number
是Int
个实例,Int
是Int.Type
将NSManagedObjectContext
的两次出现替换为核心数据堆栈中声明的实例,通常为managedObjectContext
。