1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| 协议共分六步:1.声明协议2.声明代理人属性3.执行协议方法4.签订协议5.指定代理人6.实现协议方法
#warning协议第一步声明协议@protocolMarry <NSObject> -(void)makeMoney:(NSString*)text;
@end
#warning协议第二步声明代理人@interfaceGirl :NSObject@property(nonatomic,assign)id<Marry>myDelegate;//assign弱引用,不会对内存引起记数变化 -(void)getMessage:(NSString*)content;@end
#warning协议第三步执行协议方法@implementationGirl-(void)getMessage:(NSString*)content {
NSLog(@"%@",content); [self.myDelegate makeMoney:@"赶快去赚钱!!!"]; }@end
#warning协议第四步签订协议#import"Girl.h"@interfaceBoy :NSObject<Marry> -(void)sendMessageToGirl:(NSString *)content;@end #warning协议第五步指定代理人@implementationBoy -(void)sendMessageToGirl:(NSString*)content {
Girl*aGirl = [[Girlalloc]init];
aGirl.myDelegate=self; [aGirlgetMessage:content]; }
#warning协议第六步实现协议方法 -(void)makeMoney:(NSString*)text { NSLog(@"%@",text); }@end
|