代理设计模式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对象就 ...
随机推荐
- Uncaught Error: Syntax error, unrecognized expression: |117的js错误
117指的是js代码在浏览器运行时的出错的行号 var a="117|117" 前面的错误是由于有特殊符号“|”,用$("txtId"+a).val();去取 ...
- AppScan工作原理&操作教程
一.AppScan的工作原理 对一个综合性的大型网站来说,可能存在成千上万的页面.以登录界面为例,至少要输入用户名和密码,即该页面存在两个字段,当提交了用户名和密码等登录信息,网站需要检查是否正确,这 ...
- TScreen 类 - 通过 Screen 更换光标
//更换窗体或某个控件的光标可以不通过 Screen 对象, 譬如: begin Self.Cursor := crAppStart; Panel1.Cursor := crHandPoint ...
- RT-thread内核之内核对象模型
RT-Thread的内核对象模型是一种非常有趣的面向对象实现方式.由于C语言更为面向系统底层,操作系统核心通常都是采用C语言和汇编语言混合编写而成.C语言作为一门高级计算机编程语言,一般被认为是一种面 ...
- 【bzoj5094】硬盘检测 乱搞
题目描述 已知从 $n$ 个不同的32位无符号整数中随机选 $m=10000$ 次所得的结果,求可能性最大的 $n$ ,其中 $n=10^k,1\le k\le 7$. 输入 第一行包含一个正整数m( ...
- BZOJ4754 JSOI2016独特的树叶(哈希)
判断两棵无根树是否同构只需要把重心提作根哈希即可.由于只添加了一个叶子,重心的位置几乎不发生偏移,所以直接把两棵树的重心提起来,逐层找哈希值不同且对应的两子树即可.被一个普及组子问题卡一年. #inc ...
- [luogu5176] 公约数
题目描述 求 \[ \sum_{i=1}^n\sum_{j=1}^m\sum_{k=1}^p\gcd(i\cdot j,i\cdot k,j\cdot k)\times \gcd(i,j,k)\tim ...
- usaco中遇到的问题
numbers are integers with unique digits 意思是数字中的每一个数字都是不一样的& 让一个图成为强连通图只需添加max(出度为0,入度为0)的点,然后如果图 ...
- POJ3070:Fibonacci——题解
http://poj.org/problem?id=3070 题目大意:求Fibonacci数列第n项,对10000取模. 矩阵乘法板子题……实在不知道写什么了. #include<iostre ...
- HDU3652:B-number——题解
http://acm.hdu.edu.cn/showproblem.php?pid=3652 题目大意:给一个数n,求1-n所有满足下列条件的数的个数: 1.包含一个子串为“13” 2.能被13整除. ...