您的位置:首页 > 其它

OC_协议

2015-07-25 19:36 316 查看
先建立一个Girl类



Girl.h:

1.声明一份协议.

@protocol 协议的关键词.

协议的内容.

协议方法的声明.

@required 是必须实现的方法,默认是必须实现的方法.

@optional 是可选择执行的方法.

import <Foundation/Foundation.h>
@protocol Marry <NSObject>
@required
- (void)makeMoney;
@optional
- (void)cook;
@end
@interface Girl :NSObject


2.设置代理人属性.

两个人结婚之后,协议才能正式生效.

写一个方法实现结婚;

@interface Girl : NSObject
@property(nonatomic, assign)id<Marry>delegate;
- (void)getMarry;
@end


Girl.m:

3.让代理人去执行协议里的方法.

#import “Girl.h"
@implementation Girl
- (void)getMarry
{
[self.delegate makeMoney];
}
@end


再创建一个Boy类.



Boy.h:

4.引完头文件之后,boy需要签订协议.

在NSObject之后加

@interface Boy : NSObject

5.实现协议方法makeMoney.

@implementation Boy
- (void)makeMoney
{
NSLog(“挣钱吧,孩子”);
}
@end


main.m:

创建两个小人.

Boy *yadang = [[Boy alloc] init];
Girl *xiawa =[[Girl alloc] init];


设置代理人.

xiawa.delegate = yadang;


6.通过调用结婚的方法,来执行内部的协议方法.

[xiawa getMarry];


改变代理人.

创建一个Man类.



改变代理人只需要从第四步开始.

4.签协议.

@interface Man : NSObject

5.实现协议方法.

@implementation
- (void)makeMoney
{
NSLog(@“花钱吧,孩子”);
}
@end


设置代理人.

Man *yubanzhang = [[Man alloc] init];
xiawa.delegate = yubanzhang;


6.通过调用结婚的方法,来执行内部的协议方法.

[xiawa getMarry];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: