OC_协议
来源:互联网 发布:用telnet测试端口 编辑:程序博客网 时间:2024/05/21 21:47
先建立一个Girl类
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];
0 0
- OC_协议
- OC_协议
- OC_ 分类和协议
- OC_协议代理
- OC_ 语言BLOCK和协议
- OC_协议实现代理委托模式
- OC_类目(Category)、延展(extension)、协议(Protocol)
- OC_语法入门_day6_ARC(循环引用)/block代码块(闭包)/protocol协议(接口)/代理模式
- 小白学开发(iOS)OC_ protocol(协议) (2015-08-09)
- Oc_总结
- OC_类
- OC_语法
- OC_语法
- OC_语法
- OC_语法
- OC_继承
- OC_属性
- OC_属性
- tabhost选项卡,做微信以及微博UI界面必学
- UVa 11105 - Semi-prime H-numbers(筛选法)
- HDU 4162 Shape Number(字符串,最小表示法)
- 【Memcached】linux centos 安装memcached和它的常用基本操作
- java多线程学习笔记——有关多线程的文章连接汇总
- OC_协议
- 暴力求解法之枚举排列
- Spring AOP 异常:IllegalArgumentException: error at ::0 can't find referenced pointcut
- Eclipse JavaEE +Tomcat 搭建web工程 servlet示例
- Sql Server查询性能优化之创建合理的索引(下篇)
- python : 随机数
- java之可变参数
- 一道小小的内存申请面试题
- 随机洗牌算法