代理设计模式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对象就 ...
随机推荐
- Java之I/O流(第2部分)
1. 节点类类型: 2. 访问文件: Demo_1: import java.io.FileInputStream; import java.io.FileNotFoundException; imp ...
- j2ee—框架(1):Servlet+JSP实现基本的登录功能(v1.0)
主要分为四个部分:LoginController.web.xml.login.jsp和login_success.jsp(login_fail.jsp). 第一部分 LoginController p ...
- TCP系列03—连接管理—2、TCP连接的同时打开和同时关闭
在前面的内容中我们介绍了TCP连接管理中最常见的三次握手方式和四次挥手的方式.但是有可能A和B两端同时执行主动打开并连接对方或者同时执行主动关闭连接(尽管发生这种情况的可能性比较低低),这个时候的流程 ...
- MenuStrip的自动显示
/// <summary> /// 主界面接受F11时,显示菜单 /// 通过改写Form的ProcessCmdKey实现 /// </summary> /// <par ...
- str.substring(beginIndex,endIndex)-008
// 将字符串str前n位放在后面,返回新的字符串 public String headToTail(String str,int n){ if(n==0){ System.out.println(s ...
- Spring MVC之@RequestBody@ResponseBody详解
引言: 接上一篇文章讲述处理@RequestMapping的方法参数绑定之后,详细介绍下@RequestBody.@ResponseBody的具体用法和使用时机: 简介: @RequestBody 作 ...
- Access Denied for user root @localhost 解决方案
问题描述: C:\Users\bo.wang> mysql -u root -p Enter password: ERROR 1045 (28000): Access denied for us ...
- 源码安装和yum安装的区别。
yum是将yum源中别人已经编译好的rpm包下载到本地,然后安装,不需要考虑依赖,主要是方便.源码安装没法人为的控制,安装的版本也很低. 源码安装需要自己编译,安装,编译过程中可以设置参数.可安装的版 ...
- Python type()函数用途及使用方法
函数可以做什么 在介绍数据类型的文章中提到过,要怎么样查看对像的数据类型.type()就是一个最实用又简单的查看数据类型的方法.type()是一个内建的函数,调用它就能够得到一个反回值,从而知道想要查 ...
- POJ3384:Feng Shui——题解
http://poj.org/problem?id=3384 题目大意:给一个顺时针序的多边形,求在里面放半径为r的两个圆使得两圆覆盖的面积最大,求出这样的圆的坐标. ———————————————— ...