1.protocol
委托是一种设计模式,但是委托常常与协议联系在一起
如:
@protocol PhilosopherDelegate
@ required
-(void) review;
@optional
@end
我们称之为委托协议
2.委托和代理是一个概念。现在我们来看看委托代理模式本身。
哲学家实体类 Philosopher要将一些事情分配给他的徒弟(view controller)去做,哲学家自身需要定义一个委托协议属性(PhilosopherDelegate)
表明哲学家要委托他人做的事情。而 他的徒弟需要实现这个协议中的方法
@interface ViewController :UIViewController<PhilosopherDelegate>
与此同事,要声明自己愿意做哲学家要委托的事情,
Philosopher * tom = [[Philosopher alloc] init];
tom.delegate = self.
哲学家tom需要写文章了article ,则tom.article ;
而 article 方法里面需要delegate 的review.
所以 delegate 必须要实现 review 方法。