iOS之代理设计模式
2016-03-08 12:15
260 查看
代理设计模式:其实就是自己的事让其他类去完成。还可用于传值。
下面就以保姆照看baby的例子解析代理的基本用法。
首先创建以讴歌baby类
实现文件里面实现协议方法
让后看ViewController
下面就以保姆照看baby的例子解析代理的基本用法。
首先创建以讴歌baby类
// // Baby.h // 代理设计模式 // // Created by dev on 16/3/8. // Copyright © 2016年 SWALLE. All rights reserved. // #import <Foundation/Foundation.h> @protocol BabyDelegate<NSObject> -(void)drinkWater; -(void)eatFood; @end @interface Baby : NSObject /** * 代理为遵守协议的任何对象 */ @property(nonatomic ,strong)id<BabyDelegate>delegate; -(void)babyHundry; -(void)babyWantDrinkWeater; @end
// // Baby.m // 代理设计模式 // // Created by dev on 16/3/8. // Copyright © 2016年 SWALLE. All rights reserved. // #import "Baby.h" @implementation Baby -(void)babyHundry{ NSLog(@"我饿了"); [self.delegate eatFood];//找代理 } -(void)babyWantDrinkWeater{ NSLog(@"我渴了"); [self.delegate drinkWater];//找代理 } @end创建一个保姆类作为婴儿的代理
// // ChidrenNurse.h // 代理设计模式 // // Created by dev on 16/3/8. // Copyright © 2016年 SWALLE. All rights reserved. // #import <Foundation/Foundation.h> #import "Baby.h" @interface ChidrenNurse : NSObject<BabyDelegate> @end
实现文件里面实现协议方法
// // ChidrenNurse.m // 代理设计模式 // // Created by dev on 16/3/8. // Copyright © 2016年 SWALLE. All rights reserved. // #import "ChidrenNurse.h" @implementation ChidrenNurse
<pre name="code" class="objc" style="color: rgb(76, 191, 87); font-size: 24px;">//实现协议方法-(void)drinkWater{ NSLog(@"喂baby喝水");}
-(void)eatFood{ NSLog(@"喂宝宝吃饭"); } @end
让后看ViewController
// // ViewController.m // 代理设计模式 // // Created by dev on 16/3/8. // Copyright © 2016年 SWALLE. All rights reserved. // #import "ViewController.h" #import "Baby.h" #import "ChidrenNurse.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; Baby *baby = [[Baby alloc] init]; ChidrenNurse *nurse = [[ChidrenNurse alloc] init]; //设置baby的代理为nurse baby.delegate = nurse; [baby babyHundry]; [baby babyWantDrinkWeater]; } @end
相关文章推荐
- iOS代码拾遗录-AVAudioSession状态
- iOS优秀技术博客
- iOS--NSDictionary字典的初始化增删
- ios开发 各种字体
- iOS 自有地图
- 13位时间戳转化北京时间
- iOS开发之原生二维码生成与扫描
- iOS 获取设备相关信息
- IOS单选框的实现
- iOS 开发技巧-制作环形进度条
- iOS开发之自定义表情键盘(组件封装与自动布局)
- iOS开发笔记--先弄清楚这里的学问,再来谈iOS内存管理与优化(二)
- iOS在照片上添加水印
- iOS开发笔记--先弄清楚这里的学问,再来谈iOS内存管理与优化(一)
- 开源了一个iOS输入控件【原】
- IOS开发之tableView点击行跳转并带有“显示”更多功能
- iOS开发证书全部都显示“此证书的签发者无效”
- iOS框架和服务知识点目录
- iOS开发小记(十一)
- iOS海哥开发笔记 (海哥原创,CoreAnimation核心动画介绍)