您的位置:首页 > 移动开发 > Objective-C

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oc基础 protocol