Swift - 错误:无法转换类型的值

时间:2018-01-28 19:10:36

标签: swift loops error-handling core nsmanagedobject

这是我的功能:

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'?

1 个答案:

答案 0 :(得分:0)

请尝试理解错误消息:

与Core Data相关的两种方法都需要实例 NSManagedObjectContext - 根据命名约定,变量以小写字母开头 - 而不是< strong>类型 NSManagedObjectContext

例如,在这一行:

let number : Int = 0

numberInt个实例,IntInt.Type

NSManagedObjectContext的两次出现替换为核心数据堆栈中声明的实例,通常为managedObjectContext

相关问题