OC_协议

来源:互联网 发布:用telnet测试端口 编辑:程序博客网 时间:2024/05/21 21:47

先建立一个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.让代理人去执行协议里的方法.

#importGirl.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];
0 0
原创粉丝点击