码迷,mamicode.com
首页 > 其他好文 > 详细

Objective-C代理

时间:2015-11-07 06:20:07      阅读:261      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

1.代理初识 

假设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 }
main.m
技术分享
 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
Boss.h
技术分享
1 #import "Boss.h"
2 
3 @implementation Boss
4 - (void)delegateBuyMacbook {
5     NSLog(@"老板开始找人买电脑");
6     [_delegate buyMacbook];
7 }
8 @end
Boss.m
技术分享
1 #import <Foundation/Foundation.h>
2 #import "Boss.h"
3 @interface Worker : NSObject<BossDelegate>
4 
5 @end
Worker.h
技术分享
1 #import "Worker.h"
2 
3 @implementation Worker
4 - (void)buyMacbook {
5     NSLog(@"买了60台Macbook Pro 15 高配");
6 }
7 @end
Worker.m

 

Objective-C代理

标签:

原文地址:http://www.cnblogs.com/gwkiOS/p/4944111.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!