《IOS应用开发教程》 - 副本.pptVIP

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《IOS应用开发教程》 - 副本.ppt

《IOS应用开发教程》 QQ学习群:262779381 第四章 IOS开发常用设计模式 QQ学习群:262779381 教学目标: 1、了解IOS开发中的设计模式。 2、掌握协议代理、通知及MVC设计模式,并灵活使用。 QQ学习群:262779381 4.1协议代理设计模式 在讲解协议代理设计模式之前,首先需要向介绍IOS编程中一个比较重要的概念,就是协议(protocol)。协议比较类似于Java中的接口,但与接口不同的是,协议没有父类,也不能定义实例变量,我们在协议中定义相应的方法,在其他的类中进行实现,因此,协议也是在IOS开发中比较特殊的一种程序设计结构。 QQ学习群:262779381 协议的结构如下: #import?Foundation/Foundation.h?? @protocol?HelloProtocol?NSObject?? -?(void)?requiredMethod;?? @optional?? -?(void)?optionalMethod1;?? -?(void)?optionalMethod2;??? @end?? 协议有两种方法,一种是必须实现的方法,也就是required方法,另一种是可选的方法,optional。引入了协议的类,必须实现required方法,可以选择实现optional方法。 QQ学习群:262779381 #import Foundation/Foundation.h @interface Person : NSObject { NSString *_name; } - (void)sayHello { NSLog(@%@ say hello to everyone!,_name); } - (void)setName:(NSString *)name; @end #import Foundation/Foundation.h #import sayHelloProtocol.h @interface Person : NSObjectsayHelloProtocol { NSString *_name; } - (void)setName:(NSString *)name; @end QQ学习群:262779381 定义协议 #import Foundation/Foundation.h @protocol sayHelloProtocol NSObject @required - (void)sayHello; @optional - (void)handshake; @end QQ学习群:262779381 #import Foundation/Foundation.h #import Person.h int main(int argc, const char * argv[]) { @autoreleasepool { Person *p = [[Person alloc]init]; [p setName:@Jack]; [p sayHello]; return 0; } } QQ学习群:262779381 这里,我们通过一个比较简单直观的例子讲述了协议方法的使用。读者在了解到了协议的使用方法后,对协议代理模式会有一个更好的理解。下面我们就深入讲解协议代理设计模式。 我们的实例背景如下:有一户人家,主人叫Peter,他养了一条狗叫puppy,有一天,Peter的朋友要到家里做客,本来Peter要出门迎接,打招呼和握手,但Peter要做饭,不能出门迎接,所以让自己的小狗puppy去迎接,puppy需要帮主人做这两件事(打招呼和握手)。这里就需要实现一个协议,让puppy帮主人迎接客人。 QQ学习群:262779381 从背景介绍中我们可以看出,通用类(Person类)保持指向委托对象puppy(viewController)的“弱引用”(idsayHelloProtocoldelegate),委托对象puppy实现了sayHelloProtocol中的两个方法,sayHello和handShake。 @protocol sayHelloProtocol NSObject - (void)sayHello; - (void)handShanke; @end QQ学习群:262779381 #import UIKit/UIKit.h #import sayHelloPtotocol.h @interface ViewController : UIViewControllersayHelloPtotocol @end #impo

文档评论(0)

2752433145 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档