简体   繁体   English

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

[英]must call a designated initializer of the superclass NSManagedObject - in swift

I get the compiler message: must call a designated initializer of the superclass NSManagedObject (in swift)我收到编译器消息:必须调用超类 NSManagedObject 的指定初始值设定项(快速)

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

the var(s) are declared in the extension xxxx { .... } How to initialize this superclass? var(s) 在扩展名 xxxx { .... } 中声明如何初始化这个超类?

The designated initialiser is指定的初始化程序是

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

and that is the super init function you must call.这就是你必须调用的超级init函数。

In Xcode Version 12.5 (12E262) I would do it like this this:在 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
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Swift必须调用超类uiinputviewcontroller的指定初始值设定项 - Swift Must call a designated initializer of the superclass uiinputviewcontroller 必须在Swift 1.2中调用超类&#39;UIViewController&#39;的指定初始化程序 - Must call a designated initializer of the superclass 'UIViewController' in Swift 1.2 Swift - 必须调用超类 SKSpriteNode 错误的指定初始值设定项 - Swift - Must call a designated initializer of the superclass SKSpriteNode error Swift CoreData:无法在 NSManagedObject 上调用指定的初始值设定项 - Swift CoreData: Failed to call designated initializer on NSManagedObject 必须调用超类“ UIViewController”的指定初始化程序 - Must call a designated initializer of the superclass 'UIViewController' 必须调用超类“ Day”错误的指定初始化器 - Must call a designated initializer of the superclass 'Day' error 必须调用超类'UITableViewHeaderFooterView'的指定初始值设定项 - Must call a designated initializer of the superclass 'UITableViewHeaderFooterView' 必须调用超类&#39;UITableViewController&#39;的指定初始化程序 - Must call a designated initializer of the superclass 'UITableViewController' Swift CoreData:错误:无法在NSManagedObject类&#39;NSManagedObject&#39;上调用指定的初始值设定项 - Swift CoreData: error: Failed to call designated initializer on NSManagedObject class 'NSManagedObject' Swift:“必须调用超类的指定初始化程序”错误,即使代码正在这样做 - Swift: “Must call a designated initializer of the superclass” error even though code is doing so
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM