分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
在前一篇文章我们介绍了OC中的协议的概念:http://blog.csdn.net/jiangwei0910410003/article/details/41776015,这篇文章我们就来介绍一下OC中的代理模式,关于代理模式,如果还有同学不太清楚的话,就自己去补充知识了,这里就不做介绍了,这里只介绍OC中是如何实现代理模式的。
这里举一个简单的例子:
小孩类,护士类,保姆类,其中小孩类有两个方法:wash和play
这里代理对象就是:护士类、保姆类,小孩类是被代理对象。
看一下代码:
首先看一下小孩类:
Children.h
//// Children.h// 12_DesignStyle//// Created by jiangwei on 14-10-11.// Copyright (c) 2014年 jiangwei. All rights reserved.//#import <Foundation/Foundation.h>@class Children;//如果没有这行代码的话,协议ChildrenDelegate中得Children类型就会查找不到,报错@protocol ChildrenDelegate <NSObject>@required- (void)wash:(Children *)children;- (void)play:(Children *)children;@end@interface Children : NSObject{ //Nure *_nure;//保姆 //这里可以使用多态技术实现,因为保姆,护士有共同的父类NSObject,但是这里不使用这种方式,而是使用id类型 //但是我们还需要为这个类型添加一些方法,这里就用到了协议 //这个代理对象必须遵从ChildrenDelegate协议 id<ChildrenDelegate> _delegate;//这个变量就是小孩的代理对象<