通常情况下,一个类引用了另一个类时,都会有一个相关联待属性,比如person类中有一个student类型的属性,这样使用导致代码的耦合性

太高,一旦我不想使用student作为该属性的类型时,即这个类型是个代理类,修改起代码十分的麻烦,

所有我们就直接将这个属性定义成id类型的(NSObject *),可以是任意类型,但是此时当类型实质是没有明确的的,那么就会导致我们无法

使用该属性,

所有我们又让这个id类型去遵守某个协议,那么这样我们就知道这个id类型的实质是要干啥,也就是我们能够清楚知道这个类型下可以调用哪些

方法,

同时在给该属性赋值的时候,这个值对象也是必须遵守了这个协议的

 

换句话说:找个人替我办事,这个人可以是任何人,但是这个人必须得遵守我们之间的协议

 

posted on 2015-05-17 16:34  Angel_baby  阅读(267)  评论(0编辑  收藏  举报