Objective c 是否可以将目标c中的对象降级为其超类?
如果我有一个类B的实例,它是类a的一个子类,那么有没有一种方法可以在不显式编写代码的情况下将类B的实例转换为类a的实例Objective c 是否可以将目标c中的对象降级为其超类?,objective-c,casting,object,Objective C,Casting,Object,如果我有一个类B的实例,它是类a的一个子类,那么有没有一种方法可以在不显式编写代码的情况下将类B的实例转换为类a的实例 我的意思不是简单地使用标准c语法进行向下转换。您可以使用objc运行时(请参阅object\u setClass(id-object,Class-cls)在Objective-C运行时参考中。但是,更重要的一点是,您几乎肯定不想这样做。如果您的子类不遵循,它不应该是子类(即继承关系不合适,您应该选择其他设计)。您始终可以从子类中使用[super-someMethod]调用超类的
我的意思不是简单地使用标准c语法进行向下转换。您可以使用objc运行时(请参阅
object\u setClass(id-object,Class-cls)
在Objective-C运行时参考中。但是,更重要的一点是,您几乎肯定不想这样做。如果您的子类不遵循,它不应该是子类(即继承关系不合适,您应该选择其他设计)。您始终可以从子类中使用[super-someMethod]
调用超类的方法实现。您可以使用objc运行时执行此操作(请参阅对象\u setClass(id对象,类cls)
在Objective-C运行时参考中。但是,更重要的一点是,您几乎肯定不想这样做。如果您的子类不遵循,它不应该是子类(即继承关系不合适,您应该选择其他设计)。您始终可以从子类中使用[super-someMethod]
调用超类的方法实现