当不会NSObject的陈述为父类?
-
21-08-2019 - |
题
例如:
@interface Fraction: NSObject {
...
当将不NSObject
一起使用,并且NSObject
最终父类所有其他类
请随时纠正我所使用的任何错误的术语。
解决方案
如果我正在写的NSView的一个子类,我会写:
@interface Fraction: NSView {...
,因为我的类是从继承的NSView。在Objective-C类只从一个父类继承。当你的工作你的方式从一个NSView(到它的父类,NSResponder类)链,你会发现,它最终会从NSObject的继承。
我不知道你问题的第二部分。我认为,在苹果的Cocoa框架中的所有类最终从NSObject的继承,但不可以引用我这句话。没有理由,在Objective-C的,为什么不可能有其他的根对象(否则的Objective-C将只在苹果系统中使用)。然而,在可可,NSObject的是根
其他提示
在任何可可应用程序,如果检查运行时类树,你会发现五根类:NSObject的,对象,NSProxy,NSMessageBuilder和 NSZombie 的
在您的应用程序最普通的对象将从NSObject的被后代。目的是从目标C的初期的原始根类,和它是由NSObject的取代时其次是开发企业对象框架。
NSMessageBuilder由运行时用于消息转发使用。 NSProxy是使用的分布式对象实施应对编组的消息发送给其他进程,甚至其他主机上的对象。 NSZombie 是所使用用于调试内存泄漏的类。
可可具有两个根类:NSObject的和NSProxy
NSObject的是根类几乎所有可可的对象。
NSProxy是一个抽象超限定用于充当替身其他对象或者用于尚未存在的对象的对象的API,并且是用于像NSDistantObject类的根类。
这两个类实现NSObject的协议。
也可以编写没有根类自己的目标C类,但你可能从来没有做到这一点,你将无法与可可使用它的任何东西,除非你还实施了NSObject的协议,并且甚至那么这将是可疑的使用。