这个问题的答案可能很明显,但我需要确定一下:
如果在类定义中未明确定义基类,那么所有目标c类是否共享一个公共默认基类?
答案 0 :(得分:13)
不,如果您没有在类定义中明确定义超类,那么您正在创建root class。
根类不从其他类继承,并定义了它下面的层次结构中所有对象共有的接口和行为。该层次结构中的所有对象最终都从根类继承。根类有时被称为基类。
所有Objective-C类的根类都是NSObject
,它是Foundation框架的一部分。 Cocoa或Cocoa Touch应用程序中的所有对象最终都从NSObject继承。此类是主要访问点,其他类与Objective-C运行时交互。它还声明了基本的对象接口并实现了基本的对象行为,包括内省,内存管理和方法调用。 Cocoa和Cocoa Touch对象可以在很大程度上从根类开始表现为对象。
Foundation框架定义了另一个根类NSProxy
,但是这个类在Cocoa应用程序中很少使用,从不在Cocoa Touch应用程序中使用。
另见: