OC_协议
2015-07-25 19:36
316 查看
先建立一个Girl类
Girl.h:
1.声明一份协议.
@protocol 协议的关键词.
协议的内容.
协议方法的声明.
@required 是必须实现的方法,默认是必须实现的方法.
@optional 是可选择执行的方法.
2.设置代理人属性.
两个人结婚之后,协议才能正式生效.
写一个方法实现结婚;
Girl.m:
3.让代理人去执行协议里的方法.
再创建一个Boy类.
Boy.h:
4.引完头文件之后,boy需要签订协议.
在NSObject之后加
@interface Boy : NSObject
5.实现协议方法makeMoney.
main.m:
创建两个小人.
设置代理人.
6.通过调用结婚的方法,来执行内部的协议方法.
改变代理人.
创建一个Man类.
改变代理人只需要从第四步开始.
4.签协议.
@interface Man : NSObject
5.实现协议方法.
设置代理人.
6.通过调用结婚的方法,来执行内部的协议方法.
Girl.h:
1.声明一份协议.
@protocol 协议的关键词.
协议的内容.
协议方法的声明.
@required 是必须实现的方法,默认是必须实现的方法.
@optional 是可选择执行的方法.
import <Foundation/Foundation.h> @protocol Marry <NSObject> @required - (void)makeMoney; @optional - (void)cook; @end @interface Girl :NSObject
2.设置代理人属性.
两个人结婚之后,协议才能正式生效.
写一个方法实现结婚;
@interface Girl : NSObject @property(nonatomic, assign)id<Marry>delegate; - (void)getMarry; @end
Girl.m:
3.让代理人去执行协议里的方法.
#import “Girl.h" @implementation Girl - (void)getMarry { [self.delegate makeMoney]; } @end
再创建一个Boy类.
Boy.h:
4.引完头文件之后,boy需要签订协议.
在NSObject之后加
@interface Boy : NSObject
5.实现协议方法makeMoney.
@implementation Boy - (void)makeMoney { NSLog(“挣钱吧,孩子”); } @end
main.m:
创建两个小人.
Boy *yadang = [[Boy alloc] init]; Girl *xiawa =[[Girl alloc] init];
设置代理人.
xiawa.delegate = yadang;
6.通过调用结婚的方法,来执行内部的协议方法.
[xiawa getMarry];
改变代理人.
创建一个Man类.
改变代理人只需要从第四步开始.
4.签协议.
@interface Man : NSObject
5.实现协议方法.
@implementation - (void)makeMoney { NSLog(@“花钱吧,孩子”); } @end
设置代理人.
Man *yubanzhang = [[Man alloc] init]; xiawa.delegate = yubanzhang;
6.通过调用结婚的方法,来执行内部的协议方法.
[xiawa getMarry];
相关文章推荐
- 模板技术-freemarker与velocity
- 关于Android四大组件的学习总结
- 安装kvm及虚拟机
- java多线程学习笔记——有关多线程的文章连接汇总
- 暴力求解法之枚举排列
- python递归创建目录
- awk常用用法技巧举例
- UVa 11105 - Semi-prime H-numbers(筛选法)
- iOS js oc相互调用(JavaScriptCore)
- c#中的委托
- Java 学习笔记(2015.7.20~24)
- tabhost选项卡,做微信以及微博UI界面必学
- (八十七)AutoLayout的简介与实例
- iOS js oc相互调用(JavaScriptCore)(二)
- (八十七)AutoLayout的简介与实例
- Mongodb安全认证
- c++实现哈希表
- Androids含文档erver结束(工具包 Httputils)两
- linux运行级别 简述
- String,StringBuffer与StringBuilder的区别