标签:
假设BOSS需要买电脑 让worker去买
这时boss需要一个代理即为worker 去买电脑
BOSS创建一个协议 协议中的方法为买电脑
BOSS有一个属性 属性的类为遵守协议的类
BOSS有一个成员方法 方法的实现为 代理去买电脑
worker类需要遵守协议 实现协议方法 买电脑
代码实现如下
1 #import <Foundation/Foundation.h>
2 #import "Boss.h"
3 #import "Worker.h"
4
5 int main(int argc, const char * argv[]) {
6 @autoreleasepool {
7
8 Boss * boss = [[Boss alloc] init];
9 Worker * worker = [[Worker alloc] init];
10 [boss setDelegate:worker];
11 [boss delegateBuyMacbook];
12
13 }
14 return 0;
15 }
1 #import <Foundation/Foundation.h>
2
3 //创建协议
4 @protocol BossDelegate <NSObject>
5
6 - (void)buyMacbook;
7
8 @end
9
10
11 @interface Boss : NSObject
12 //有一个遵守协议的代理
13 @property (nonatomic,weak) id<BossDelegate> delegate;
14 //方法调用代理去买电脑
15 - (void)delegateBuyMacbook;
16 @end
1 #import "Boss.h"
2
3 @implementation Boss
4 - (void)delegateBuyMacbook {
5 NSLog(@"老板开始找人买电脑");
6 [_delegate buyMacbook];
7 }
8 @end
1 #import <Foundation/Foundation.h>
2 #import "Boss.h"
3 @interface Worker : NSObject<BossDelegate>
4
5 @end
1 #import "Worker.h"
2
3 @implementation Worker
4 - (void)buyMacbook {
5 NSLog(@"买了60台Macbook Pro 15 高配");
6 }
7 @end
标签:
原文地址:http://www.cnblogs.com/gwkiOS/p/4944111.html