必须在swift中调用超类NSManagedObject的指定初始值设定项

时间:2016-03-18 00:07:51

标签: swift core-data

我得到编译器消息:必须调用超类NSManagedObject的指定初始化器   (快速)

//-------------------------------------
class abc : NSManagedObject {
    init(x:String, y:String){
        super.init()      // <<====== here!!
        self.x = x
        self.y = y
    }
}
//-------------------------------------

var中声明了 扩展名xxxx {     .... } 如何初始化这个超类?

2 个答案:

答案 0 :(得分:3)

指定的初始化程序是

init(entity entity: NSEntityDescription, insertIntoManagedObjectContext context: NSManagedObjectContext?)

这是你必须调用的超级init函数。

答案 1 :(得分:0)

在 Xcode 版本 12.5 (12E262) 中,我会这样做:

class abc : NSManagedObject {
    init(x:String, y:String , entity: NSEntityDescription, context: NSManagedObjectContext?){
        super.init(entity: entity, insertInto: context)
        self.x = x
        self.y = y
    }
}