OC中的实现代理的几种方法

oc中的代理实质上是指一个对象可以调用另一个对象的方法,就像指使人一样,某某某让某某某去干些什么。oc实现代理我们可以使用内部类,多态或协议这几种方法。

打比方说我要让小明去买瓶水,我是不是要先找到小明,然后告诉他:你去给我买瓶水。在oc中要调用另一个对象的方法也和这个一样,先要找到这个对象,然后给这对象发送一条相应的消息就可以了。这两步用OC语法表示出来:第一步找到这个对象B就是需要对象A中有一个指针指向对象B。第二步就是直接给这个指针发送消息就行了。一个指针可以指向一个对象有三种情况,1是指针指向的类型就是这个对象的类型,2是指针指向的类型是这个对象的父类,3是这个指针是一个协议指针,而这个对象正好继承了这个协议。第一种情况,需要在对象A中定义一个对象B类型的指针delegate,在创建对象A后,将这个指针指向对象B,要操作对象B时就可以直接给delegate发送相应的消息就行了,这种情况就是内部类。第二种情况,是定义一个父类指针,这就是多态。第三种情况就是协议。

你可能感兴趣的:(OC中的实现代理的几种方法)