代理设计模式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对象就 ...
随机推荐
- C语言宏中"#"和"##"的用法
转自:https://www.cnblogs.com/hnrainll/archive/2012/08/15/2640558.html 在查看linux内核源码的过程中,遇到了许多宏,这里面有许多都涉 ...
- 普通用户如何启动WCF服务
做Winform项目时,部署到客户机上有两个应用程序,Host和Client,在Host上运行着WCF服务供Client调用.平时现在在测试的时候都没发现有问题,但是当安装到客户的正式环境时发现服务启 ...
- [BinaryTree] 最大堆的类实现
堆的定义: 最大树(最小树):每个结点的值都大于(小于)或等于其子结点(如果有的话)值的树.最大堆(最小堆):最大(最小)的完全二叉树. 最大堆的抽象数据结构: class MaxHeap { pri ...
- SpringBoot2.0(五) CORS跨域
部分跨域 @CrossOrigin注解支持类级别,方法级别添加.可以在controller类或者方法上添加,支持部分接口跨域.在两者上都添加时,方法级别的覆盖类级别的. 属性 说明 origins 允 ...
- Java中的缓冲流详解
缓冲流增强了读写文件的能力,比如Student.txt是一个学生的名单,每个姓名占一行.如果我们想要读取名字,那么每次必须读取一行,使用FileReader流很难完成这样的任务,因为我们不清楚一行有多 ...
- symbol lookup error *** , undefined symbol 错误
在重装samba过程后遇到一些问题,使用 gdb 时产生报错: gdb: symbol lookup error: gdb: undefined symbol: PyUnicodeUCS2_FromE ...
- hdu 3191 How Many Paths Are There (次短路径数)
How Many Paths Are There Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java ...
- CentOS 文本搜索grep
grep 用于在文本中执行关键词搜索, 用法: grep [选项]... PATTERN [FILE]... [root@bigdata-senior01 ~]# grep "ftp&quo ...
- 【刷题】BZOJ 2539 [Ctsc2000]丘比特的烦恼
Description 随着社会的不断发展,人与人之间的感情越来越功利化.最近,爱神丘比特发现,爱情也已不再是完全纯洁的了.这使得丘比特很是苦恼,他越来越难找到合适的男女,并向他们射去丘比特之箭.于是 ...
- BZOJ4196:[NOI2015]软件包管理器——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=4196 https://www.luogu.org/problemnew/show/P2146 你决定 ...