第28条:通过协议提供匿名对象

协议定义了一系列的方法。

id类型将类的类型隐藏起来了,可以有多个不同的实现类。只在运行期才查出些对象的实际类型

可以用协议把API之中的实现细节隐藏起来,将返回的对象设计为遵从此协议的纯id类型(也叫“匿名类型”)。这个概念就称为“匿名对象”(anonymous object)。

例:

@property(nonatomic, weak) id<EOCDelegate> delegate;  // 1、用于属性

-(void)setObject:(id)object forKey:(id<NSCopying>)key;   // 2、用于函数参数 

 

原文地址:https://www.cnblogs.com/Pikdays/p/5742579.html