- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
delegate和targetAction
delegate和targetAction的异同target...action和delegate的作用都是解耦,降低程序的耦合性.target...action通常用于单个事件(类似button)和完成某一任务,而delegate通常用于监控一系列事件(类似textField).?target...action内部实现为[target performSelector:actionwithObject:self],继承于Object.在.h文件里声明属性target和action用于保存目标,delegate在.h里声明一个协议,协议名为类名加Delegate,协议里方法至少要有一个参数,参数类型为控件类型.?target...action在外部使用给内部的target,action赋值,可以单独赋值,也可以一起赋值,实现action方法.delegate在外部使用也是给delegate赋值,实现协议中的方法.1.代理(delegate)传值 ---- 顾名思义就是委托别人办事,就是当一件事情发生后,自己不处理,让别人来处理。?? 实质就是:比如右AB两个页面,A想要传值给B ,就只要先在A中得到B的指针,然后将想要传的值赋给B,之后跳转代码如下:A.h @protocol HMTShowViewControllerDelegate NSObject @optional - (void)showViewGiveValue:(NSString *)text; @end @interface HMTShowViewController : UIViewController UITextFieldDelegate @property (nonatomic,copy)NSString * text; // 定义一个代理 @property (nonatomic,assign)idHMTShowViewControllerDelegate delegate; @end A.m - (void)popPerView:(UIBarButtonItem *)barButton{ // 在页面跳转前将参数传出去 if ([self.delegaterespondsToSelector:@selector(showViewGiveValue:)]) { [self.delegateshowViewGiveValue:_showTextField.text]; } [self.navigationControllerpopViewControllerAnimated:YES]; } B.h @interface HMTInputViewController : UIViewController HMTShowViewControllerDelegate B.m - (void)pushNextViewControl:(UIBarButtonItem *)button{ HMTShowViewController * showVC = [[HMTShowViewControlleralloc]init]; showVC.text = _textField.text; // 将代理对象设置成B showVC.delegate = self; [self.navigationControllerpushViewController:showVCanimated:YES]; [showVC release]; } // B实现协议里面的方法 - (void)showViewGiveValue:(NSString *)text{ _inputLabel.text = text; }2.单例传值 ------- 如果页面之间相隔很多,要进行传值,将值保存到第三方,将第三方设置为单例模式??代码如下:static HMTInputViewController * shareRootViewController = nil; @implementation HMTInputViewController +(HMTInputViewController *)sharedController{ @synchronized(self){ if(shareRootViewController == nil){ shareRootViewController = [[self alloc] init] ; } } return shareRootViewC
文档评论(0)