@protocol Marry <NSObject>
- (void)makeMoney; //默认为required
@optional
- (void)cook;
@end
2.设置代理人属性
@interface Girl : NSObject
@property(nonatomic, assign)id<Marry>delegate;
- (void)getMarry; //协议生效设置
@end
Girl.m
3.让代理人去执行协议里的方法
@implementation Girl
- (void)getMarry{
[self.delegate makeMoney];
}
@end
Boy.h
4.引完头文件后,boy需签订协议
#import "Girl.h"
@interface Boy : NSObject<Marry>
@end
Boy.m
5.实现协议方法makemoney
-(void)makeMoney{
NSLog(@"挣钱");
}
@end
Girl *xiawa = [[Girl alloc]init];
xiawa.delegate = yadang;
[xiawa getMarry]; //执行内部协议的方法
Man *wang = [[Man alloc]init];
xiawa.delegate = wang
[xiawa getMarry];
#import”Girl.h” //引用头文件
@interface Man : NSObject<Marry> //签订协议
@end
@implementation Man //协议里方法的实现
-(void)makeMoney{
NSLog(@"花花花");
}
@end