分类是一种为现有的类添加新方法的方式。
分类的局限性
一、无法向类中他添加新的实例变量
二、当分类中的方法和现有方法重名,发生冲突时,分类优先级别更高。分了方法完全取代初始方法。
代理是一个对象,另一个类的对象要求代理的对象执行它的某些操作。
非正式协议
创建NSObject的分类,分类的实现可以将这些消息之一发送给任何对象,无论这些对象实际上属于哪个类,只要实现了委托方法,任何类的对象都可以成为委托对象。
响应选择器
如何知道委托对象是否能够处理发送给他的消息?
首先检查对象,询问能否响应该选择器,如果能够响应该选择器,则给他发送消息。
正式协议
声明协议使用@protocol,然后是一个方法声明列表,协议的采用者必须实现这些方法,使用协议不引入新的实例变量。
OC2.0之后的协议修饰词
@optional 可选择实现的方法
@required 必须实现的方法
网友评论