Iphone 如何理解NSObject,它既是协议又是接口
您可以在NSObject.h文件中看到以下内容 //一,。这是一个协议Iphone 如何理解NSObject,它既是协议又是接口,iphone,interface,protocols,nsobject,Iphone,Interface,Protocols,Nsobject,您可以在NSObject.h文件中看到以下内容 //一,。这是一个协议 @protocol NSObject @interface NSObject <NSObject> { ... //二,。这是一个符合上述协议的接口 @protocol NSObject @interface NSObject <NSObject> { ... NSObject非常重要,我需要理解,为什么它会这样设计?1 它是一个类(接口),因为现在ObjC中的所有具体类都从N
@protocol NSObject
@interface NSObject <NSObject> {
...
//二,。这是一个符合上述协议的接口
@protocol NSObject
@interface NSObject <NSObject> {
...
NSObject非常重要,我需要理解,为什么它会这样设计?1
它是一个类(接口),因为现在ObjC中的所有具体类都从NSObject继承实现,以支持引用计数和运行时类型检查等功能
二, 现在是协议。。。它的存在是因为NSObject不是唯一支持
-retain
和-performSelector:
etc方法的根类
一个重要的类是,它充当代理将消息转发到一些实际对象
NSProxy的目标通常是NSObject,因此接口还应支持-retain
和-performSelector:
等方法。但是NSProxy无法从NSObject继承,因为两者之间没有is-a关系
为了表示兄弟关系,两个协议都采用了相同的协议,不幸的是,也被称为NSObject
使NSObject成为协议还有一个优点,即用户定义的协议可以通过以下方式请求采用者支持所有常见的NSObject操作:
@protocol Foo <NSObject>
...
@protocolfoo
...
三,
,这为NSObject添加了额外的方法实现。非常感谢。在Java中,有一个对象,与NSObject非常相似。所有java类都从对象继承。在ObjectC中,需要从NSObject显式继承。