Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift中的继承_Ios_Swift_Oop_Inheritance - Fatal编程技术网

Ios Swift中的继承

Ios Swift中的继承,ios,swift,oop,inheritance,Ios,Swift,Oop,Inheritance,我的代码: dbManager = coreDataStack.managedContext as! DbManager DbManger类: 你能告诉我我错过了什么吗?coreDataStack不是nil,managedContext不是nil,但应用程序在播放时崩溃 您有一个基类NSManagedObjectContext的实例,您试图将其转换为其子类DbManager,但它不是一个 继承涉及is-a关系。DbManager实例是NSManagedObjectContext,但反过来不适用

我的代码:

dbManager = coreDataStack.managedContext as! DbManager
DbManger类:


你能告诉我我错过了什么吗?coreDataStack不是nil,managedContext不是nil,但应用程序在播放时崩溃

您有一个基类NSManagedObjectContext的实例,您试图将其转换为其子类DbManager,但它不是一个

继承涉及is-a关系。DbManager实例是NSManagedObjectContext,但反过来不适用


换句话说,假设你有一门课叫Car。然后您将子类化并扩展它以创建RocketCar类。你不能只是实例化一辆车,然后用一个cast把它转换成一辆RocketCar

哦,现在我明白了。有什么方法可以传递这个引用吗?@Laxsion12有一个关于子类化的部分,首先是您强烈反对子类化NSManagedObjectContext,所以我真的认为您不想这样做。我相信这是一个很好的例子。你到底想做什么?我想让DbManager在其他DbManager中包含NSObject子类1 DbManager=1实体。它只是一个带有save、select等方法的实体管理器,您可以通过NSManageObjectContex子类管理器访问所有这些管理器
class DbManager: NSManagedObjectContext {

}