Objective-C ---代理和协议 (梳理整理)
2016-05-22 00:00
495 查看
摘要: 对oc的代理和协议进行梳理总结
delegate代理 协议protocol
先用一个经典的例子来作为切入点
对象worker1->Worker类
对象boss1 ->Boss类
协议WorkPro
@protocol workPro 协议,只
涉及到的方法修饰@required(默认,需要去实现,不然报警) @optional(可选,可以不去实现)
-(void)moveBrick; 协议中的方法
@end
Worker类
(.m中)@interface Worker : NSObject<workPro> Worker遵守协议
(.h中)
-(void)moveBrick{
NSLog(@"move brick");
}
Boss类
.m中 需要导入协议
@property (nonatomic,weak)id<workPro> delegate; 声明一个遵守协议内容的代理
下面boss就可以解决搬砖了
Worker *worker1 = [[Worker alloc]init];
Boss *boss1 = [[Boss alloc]init];
boss1.delegate = worker1; 找代理
[boss1.delegate moveBrick];让代理去做事
运行结果 2016-05-22 11:31:09.631 12[1106:75224] move brick
delegate代理 协议protocol
先用一个经典的例子来作为切入点
对象worker1->Worker类
对象boss1 ->Boss类
协议WorkPro
@protocol workPro 协议,只
涉及到的方法修饰@required(默认,需要去实现,不然报警) @optional(可选,可以不去实现)
-(void)moveBrick; 协议中的方法
@end
Worker类
(.m中)@interface Worker : NSObject<workPro> Worker遵守协议
(.h中)
-(void)moveBrick{
NSLog(@"move brick");
}
Boss类
.m中 需要导入协议
@property (nonatomic,weak)id<workPro> delegate; 声明一个遵守协议内容的代理
下面boss就可以解决搬砖了
Worker *worker1 = [[Worker alloc]init];
Boss *boss1 = [[Boss alloc]init];
boss1.delegate = worker1; 找代理
[boss1.delegate moveBrick];让代理去做事
运行结果 2016-05-22 11:31:09.631 12[1106:75224] move brick
相关文章推荐
- Protocol Buffer技术深入理解(C++实例)
- Some Notes of Protocol Buffer C++
- cocos2d里面如何实现MVC(二)
- cocos2d里面如何实现MVC(五)
- 微信公众平台开发 OAuth2.0网页授权认证
- 802.1x技术介绍
- VTUN(vtun.sourceforge.net)
- AF_PACKET套接字解密
- rsync 错误与解决方案收集
- rsync常见错误
- 麦咖啡McAfee 8.8企业版规则设置(高级篇)
- Java 中的接口有什么作用?
- ios开发中的基本设计模式
- 路由重分发
- SCTP
- iOS开发学习中,经常弄不清楚ios的开发模式
- cisco设备接口信息详解
- RTSP协议介绍举例
- google protobuf(java) window(不分32和64)下安装以及使用