代理设计模式iOS开发Demo(示例程序)源代码
- iOS程序源代码下载链接:
03-代理设计模式.zip
28.3 KB // main.m
- //
- // main.m
- // 03-代理设计模式
- //
- // Created by apple on 13-11-27.
- // Copyright (c) 2013年itcast. All rights reserved.
- //
- #import<Foundation/Foundation.h>
- #import"Baby.h"
- //#import "Student.h"
- #import"Dog.h"
- int main(int argc,const char* argv[])
- {
- @autoreleasepool{
- // 1.学生
- // Nurse *nurse = [[Nurse alloc] init];
- // Teacher *teacher = [[Teacher alloc] init];
- // Student *stu = [[Student alloc] init];
- // 2.婴儿
- Baby *b = [[Baby alloc] init];
- b.age =1;
- // b.baomu = stu;
- b.baomu = [[Dog alloc] init];
- [b sleep];
- }
- return 0;
- }
// Baby.h
- //
- // Baby.h
- // 03-代理设计模式
- //
- // Created by apple on 13-11-27.
- // Copyright (c) 2013年itcast. All rights reserved.
- //
- #import<Foundation/Foundation.h>
- #import"BabyBaomuXieyi.h"
- @interface Baby : NSObject
- @property(nonatomic,strong) id<BabyBaomuXieyi> baomu;//任何人都能做保姆
- @property(nonatomic,assign)int age;//年龄
- - (void)hungry;//饿了
- - (void)cry;//哭了
- - (void)sleep;//想睡觉
- @end
// Baby.m
- //
- // Baby.m
- // 03-代理设计模式
- //
- // Created by apple on 13-11-27.
- // Copyright (c) 2013年itcast. All rights reserved.
- //
- #import"Baby.h"
- @implementation Baby
- - (void)cry
- {
- NSLog(@"%d岁的baby哭了", _age);
- //转载请注明出处--本文永久链接:http://www.cnblogs.com/ChenYilong/p/3493396.html
- //通知保姆(护士)
- [_baomu babyCry:self];
- }
- - (void)sleep
- {
- NSLog(@"%d岁的baby想睡觉", _age);
- //转载请注明出处--本文永久链接:http://www.cnblogs.com/ChenYilong/p/3493396.html
- //通知保姆
- [_baomu babySleep:self];
- }
- - (void)hungry
- {
- NSLog(@"%d岁的baby想吃东西", _age);
- //通知保姆
- [_baomu babyHungry:self];
- }
- @end
// Dog.h
- //
- // Dog.h
- // 03-代理设计模式
- //
- // Created by apple on 13-11-27.
- // Copyright (c) 2013年itcast. All rights reserved.
- //
- #import<Foundation/Foundation.h>
- #import"BabyBaomuXieyi.h"
- @interface Dog : NSObject <BabyBaomuXieyi>
- @end
// Dog.m
- //
- // Dog.m
- // 03-代理设计模式
- //
- // Created by apple on 13-11-27.
- // Copyright (c) 2013年itcast. All rights reserved.
- //
- #import"Dog.h"
- #import"Baby.h"
- @implementation Dog
- - (void)babyCry:(Baby *)baby
- {
- NSLog(@"狗正在安慰%d岁的baby", baby.age);
- }
- - (void)babyHungry:(Baby *)baby
- {
- NSLog(@"狗喂%d岁的baby吃东西", baby.age);
- }
- - (void)babySleep:(Baby *)baby
- {
- NSLog(@"狗哄%d岁的baby去睡觉", baby.age);
- }
- @end
// Nurse.h
- //
- // Nurse.h
- // 03-代理设计模式
- //
- // Created by apple on 13-11-27.
- // Copyright (c) 2013年itcast. All rights reserved.
- //
- #import<Foundation/Foundation.h>
- @class Baby;
- @interface Nurse : NSObject
- - (void)babyCry:(Baby *)baby;
- - (void)babySleep:(Baby *)baby;
- - (void)babyHungry:(Baby *)baby;
- @end
// Nurse.m
- //
- // Nurse.m
- // 03-代理设计模式
- //
- // Created by apple on 13-11-27.
- // Copyright (c) 2013年itcast. All rights reserved.
- //
- #import"Nurse.h"
- #import"Baby.h"
- @implementation Nurse
- - (void)babyCry:(Baby *)baby
- {
- NSLog(@"护士正在安慰%d岁的baby", baby.age);
- }
- - (void)babyHungry:(Baby *)baby
- {
- NSLog(@"护士喂%d岁的baby吃东西", baby.age);
- }
- - (void)babySleep:(Baby *)baby
- {
- NSLog(@"护士哄%d岁的baby去睡觉", baby.age);
- }
- @end
代理设计模式iOS开发Demo(示例程序)源代码的更多相关文章
- 03.WebView演练-iOS开发Demo(示例程序)源代码
技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/luohanchenyilong //转载请注明出处--本文永久链接:h ...
- iOS多线程
iOS开发Demo(示例程序)源代码
本系列所有开发文档翻译链接地址:iOS7开发-Apple苹果iPhone开发Xcode官方文档翻译PDF下载地址(2013年12月29日更新版) iOS程序源代码下载链接:01.大任务.zip22 ...
- 01-QQ 3-最终重构版
Demo示例程序源代码
源代码下载链接:01-QQ 3.zip292.5 KB // QQAppDelegate.h Map // // QQAppDelegate.h // 01-QQ // // Created ...
- 01-导航实例-QQ空间Demo示例程序源代码
01-导航实例-QQ空间.zip62.4 KB // MJLoginViewController.h Map // // MJLoginViewController.h // 01-导航实例-QQ ...
- 01-modal
Demo示例程序源代码
源代码下载链接:01-modal.zip37.8 KB // MJAppDelegate.h // // MJAppDelegate.h // 01-modal // // Created by ...
- 02-更改窗口的根控制器
Demo示例程序源代码
源代码下载链接:02-更改窗口的根控制器.zip18.0 KB // MJAppDelegate.h // // MJAppDelegate.h // 02-更改窗口的根控制器 // // ...
- 归档普通对象Demo示例程序源代码
源代码下载链接:06-归档普通对象.zip34.2 KB // MJPerson.h // // MJPerson.h // 06-归档普通对象 // // Created by apple o ...
- iOS开发UI篇—程序启动原理和UIApplication
iOS开发UI篇—程序启动原理和UIApplication 一.UIApplication 1.简单介绍 (1)UIApplication对象是应用程序的象征,一个UIApplication对象就 ...
- iOS开发UI篇—程序启动原理和UIApplication1
iOS开发UI篇—程序启动原理和UIApplication 一.UIApplication 1.简单介绍 (1)UIApplication对象是应用程序的象征,一个UIApplication对象就 ...
随机推荐
- 买卖股票的最佳时机I II III IV
I 假设有一个数组,它的第i个元素是一支给定的股票在第i天的价格.如果你最多只允许完成一次交易(例如,一次买卖股票),设计一个算法来找出最大利润. II 假设有一个数组,它的第i个元素是一个给定的股票 ...
- lintcode-184-最大数
184-最大数 给出一组非负整数,重新排列他们的顺序把他们组成一个最大的整数. 注意事项 最后的结果可能很大,所以我们返回一个字符串来代替这个整数. #### 样例 给出 [1, 20, 23, 4, ...
- 【Docker 命令】- inspect命令
docker inspect : 获取容器/镜像的元数据. 语法 docker inspect [OPTIONS] NAME|ID [NAME|ID...] OPTIONS说明: -f :指定返回值的 ...
- 用svmpredict输出的结果为空
源程序:
- Kafka Strem
Overview Concepts Topology Time States Window Hopping time windows Tumbling time windows Sliding win ...
- VisualVM使用方法
VisualVM 简介 VisualVM 是一个工具,它提供了一个可视界面,用于查看 Java 虚拟机 (Java Virtual Machine, JVM) 上运行的基于 Java 技术的应用程序( ...
- (二)MySQL学习笔记
1.视图 视图是一系列select语句返回的可视化结果集,是一张虚拟表.更多介绍请查看http://tool.oschina.net/apidocs/apidoc?api=mysql-5.1-zh 视 ...
- Codeforces VK Cup 2015 A.And Yet Another Bracket Sequence(后缀数组+平衡树+字符串)
这题做得比较复杂..应该有更好的做法 题目大意: 有一个括号序列,可以对其进行两种操作: · 向里面加一个括号,可以在开头,在结尾,在两个括号之间加. · 对当前括号序列进 ...
- 事件驱动与异步IO--待更新
论事件驱动与异步IO 通常,我们写服务器处理模型的程序时,有以下几种模型: (1)每收到一个请求,创建一个新的进程,来处理该请求: (2)每收到一个请求,创建一个新的线程,来处理该请求: (3)每收到 ...
- 协程简介-异步IO
协程 1. 协程,又称微线程,纤程.协程是用户自己控制的,CPU根本不知道协程的存在,CPU只认识线程. 2. 线程切换的时候,会保存在CPU的寄存器里面. 协程切换的时候,却都是由用户自己的实现的. ...