Objective-C ---代理和协议 (梳理整理)
来源:互联网 发布:linux smartctl 安装 编辑:程序博客网 时间:2024/06/04 18:39
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
协议中能不能声明成员变量???
答案是可以的;
上面的协议内容中加上
@property (nonatomic,strong)NSString*name;
Worker.m文件中去实现name的get set方法就好了
- Objective-C ---代理和协议 (梳理整理)
- Objective-C ---NSString(梳理整理)
- Objective-C ---NSArray NSDictionary(梳理整理)
- Objective-C ---点语法 (梳理整理)
- Objective-C ---NSFileManager NSFileHandle (梳理整理)
- Objective-C ---XML解析 (梳理整理)
- Objective-C --- block (梳理整理)
- Objective-C中的协议和代理(委托)设计模式
- Objective-C Runtime整理(分类和协议)
- Objective-C协议与代理
- Objective-C学习笔记之协议和代理
- 【iOS开发之Objective-C】协议和代理
- 【初学】Objective-C学习笔记-委托代理(delegate)和协议(protocol)
- 【深入浅出Objective-C】4.6协议(Protocols)和代理(Delegation)
- iOS 开发-Objective-c基础:协议和代理delegate&protocol)
- 浅谈Objective-C代理方案 &&浅谈Objective-C协议和委托
- (Object-C)协议和代理
- objective-c 协议和委托
- IOS FFMPEG的使用
- 序列模型-RNN
- 还在用ListView?!OutMan!RecyclerView!
- LeetCode 92. Reverse Linked List II(翻转链表)
- 扩展欧几里德求逆元,快速幂 hdoj 1211
- Objective-C ---代理和协议 (梳理整理)
- datetimepicker 插件用法及参数说明
- mongoVUE 连接MongoDB3.2.2不能正常显示collection的问题
- 机器学习笔记08:支持向量机(一)(SVM)
- [BZOJ1006][HNOI2008]神奇的国度(弦图最小染色)
- 342. Power of Four
- 重要学习网站记录
- iOS 开发之Target-action模式
- Zynq-7000器件在测量类红外图像系统中的应用