OC_协议代理
来源:互联网 发布:知乎 西安文都考研 编辑:程序博客网 时间:2024/05/22 10:38
新建两个类Boy,GirlGirl.h#import <Foundation/Foundation.h>#warning 1.协议声明.@protocol MarryMeDelegate <NSObject>@required // 必须要做的.- (void)makeMoney;@optional // 可选的.- (void)cook;- (void)careChild;- (void)washCloths;@end@interface Girl : NSObject#warning 2.声明代理人.@property(nonatomic, assign) id<MarryMeDelegate> myDelegate; // 奴隶- (void)getMessage:(NSString *)string;@endGirl.m#import "Gril.h"@implementation Gril- (void)getMessage:(NSString *)string {#warning 3.代理人调用协议方法. [self.myDelegate makeMoney];}@endBoy.h#import <Foundation/Foundation.h>#import "Gril.h"#warning 4.签订协议@interface Boy : NSObject<MarryMeDelegate>- (void)marryMe:(NSString *)content;@endBoy.m#import "Boy.h"@implementation Boy- (void)marryMe:(NSString *)content { Girl *girl = [Girl alloc] init]; [girl getMessage: content];#warning 5.设置代理人. girl.myDelegate = self;}#warning 6.实现协议方法.- (void)makeMoney { NSLog(@"老老实实挣钱,否则就一个,死!~");}@endmain.m#import <Foundation/Foundation.h>#import "Boy.h"#import "Gril.h"int main(int argc, const char * argv[]) { @autoreleasepool { Boy *messi = [[Boy alloc] init]; [messi marryMe:@"嫁给我吧"]; } return 0;}
0 0
- OC_协议代理
- OC_协议实现代理委托模式
- OC_协议
- OC_协议
- OC_ 分类和协议
- OC_语法入门_day6_ARC(循环引用)/block代码块(闭包)/protocol协议(接口)/代理模式
- OC_ 语言BLOCK和协议
- OC_类目(Category)、延展(extension)、协议(Protocol)
- 协议,代理
- 协议、代理
- 3.协议,代理,非正式协议
- 代理协议SOCKS5简介
- 代理协议整理
- 代理协议SOCKS5
- HTTP协议之代理
- HTTP协议之代理
- TTP协议 (五) 代理
- 协议和代理
- 解决@Autowired在ServletContextListener中失效的一种方法
- Swift navigationItem 属性常用设置
- HTTPClient4.3的典型小例子
- StringUtils中 isNotEmpty 和isNotBlank的区别
- Java泛型 <? extends ...>与<? super ...>
- OC_协议代理
- 广播接收者和自定义广播
- Unicode(UTF-8, UTF-16)令人混淆的概念
- django配置django-registration-redux
- 数据库设计涉及到的范式
- A PHP Error was encountered
- Qt程序卡住不动(QTreeWidgetItem setText)
- javascript函数参数
- 运维部署项目