什么是声明一个类并声明一个具有相同名称的协议?

Sep*_*gus 4 objective-c

NSObject类有NSObject协议.

重点是什么?

这是模拟多重继承的某种方式吗?

这是什么模式?

小智 7

不,只是这样:

  1. 基础框架过于流行,NSObject在涉及根类时占据了主导地位.

  2. 这就是为什么人们习惯了它的名字以及它实现的信息和方法.例如,一个Objective-C开发人员通常需要一个类来实现+ alloc- init,但这只是恰好是一个共同的约定,类并不一定这样做.

  3. 但是,当NSObject不是一个根类层次结构的(只是想想NSProxy,例如),它仍然是方便的把它给所有的消息作出响应NSObject实现了这样一个没有学习完全不同的,新的集名称和公约.

  4. 这就是为什么Apple选择将这些常用方法提取到一个单独的协议中NSObject,该协议NSObject实现了 - 并且这样做任何理智的根类.

所以基本上,它只是为了方便和代码可读性:)