当前位置: 首页 > news >正文

济南地区做公司网站的公司什么网站可以做项目

济南地区做公司网站的公司,什么网站可以做项目,建设com网站,天凡建设股份有限公司网站前言#xff1a;因为Object#xff0d;C是不支持多继承的#xff0c;所以很多时候都是用Protocol#xff08;协议#xff09;来代替。Protocol#xff08;协议#xff09;只能定义公用的一套接口#xff0c;但不能提供具体的实现方法。也就是说#xff0c;它只告诉你要… 前言因为ObjectC是不支持多继承的所以很多时候都是用Protocol协议来代替。Protocol协议只能定义公用的一套接口但不能提供具体的实现方法。也就是说它只告诉你要做什么但具体怎么做它不关心。 当 一个类要使用某一个Protocol协议时都必须要遵守协议。比如有些必要实现的方法你没有去实现那么编译器就会报警告来提醒你没有遵守×× 协议。注意我这里说的是警告而不是错误。对的就算你不实现那些“必要实现”的方法程序也是能运行的只不过多了些警告。 我会在本文的结尾放上此Demo的下载地址有需要的话可以去下载谢谢。 Protocol协议的作用 1. 定义一套公用的接口Public required必须实现的方法 optional可选 实现的方法可以全部都不实现 2. 委托代理Delegate传值 它本身是一个设计模式它的意思是委托别人去做某事。  比如两个类之间的传值类A调用类B的方法类B在执行过程中遇到问题通知类A这时候我们需要用到代理Delegate。 又比如控制器Controller与控制器Controller之间的传值从C1跳转到C2再从C2返回到C1时需要通知C1更新UI或者是做其它的事情这时候我们就用到了代理Delegate传值。 一、定义一套公用的接口Public 首先新建一个协议文件 填上协议文件名及文件类型选择Protocol ProtocolDelegate.h代码协议不会生成.m文件 #import protocol ProtocolDelegate // 必须实现的方法 required - (void)error;// 可选实现的方法 optional - (void)other; - (void)other2; - (void)other3;end 在需要使用到协议的类import它的头文件 #import ViewController.h #import ProtocolDelegate.h 我这里选择的是入口文件 记得要遵守协议 interface ViewController () end 这时会报一个警告因为定义的协议里有一个是必须实现的方法而我们没有去实现 实现了必须实现的方法后编译器就不会报警告了 至于其它的可选方法你可以选择实现也可以全都不实现。 二、委托代理Delegate传值 在Storyboard上先搭好界面如下图 新建ControllerB 把B界面的类设置为ViewControllerB 下面放出主要类文件代码我在里面写了注释大家应该能看懂。不懂也没有关系我会在本文结尾放上Demo下载地址。 ViewController.m文件 #import ViewController.h #import ProtocolDelegate.h #import ViewControllerB.h interface ViewController () end implementation ViewController - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {ViewControllerB *vc  segue.destinationViewController;[vc setDelegate:self]; } // 这里实现B控制器的协议方法 - (void)sendValue:(NSString *)value {UIAlertView *alertView  [[UIAlertView alloc] initWithTitle:成功 message:value delegate:nil cancelButtonTitle:确定 otherButtonTitles:nil, nil];[alertView show]; } - (void)error { } end ViewControllerB.h文件 #import // 新建一个协议协议的名字一般是由“类名Delegate” protocol ViewControllerBDelegate // 代理传值方法 - (void)sendValue:(NSString *)value;endinterface ViewControllerB : UIViewController// 委托代理人代理一般需使用弱引用(weak) property (weak, nonatomic) id delegate;end ViewControllerB.m文件 #import ViewControllerB.h interface ViewControllerB () property (strong, nonatomic) IBOutlet UITextField *textField; end implementation ViewControllerB - (IBAction)backAction:(id)sender {if ([_delegate respondsToSelector:selector(sendValue:)]) { // 如果协议响应了sendValue:方法[_delegate sendValue:_textField.text]; // 通知执行协议方法}[self.navigationController popViewControllerAnimated:YES]; } end 完成效果截图 小结 当你需要定义一套公用的接口实现方法可以是不同的时候你可以使用Protocol协议。 当你需要进行类与类之间的传值时你也可以基于Protocol协议使用代理设计模式进行传值。 Demo测试通过环境 开发工具Xcode6.1 测试机型模拟器 测试系统IOS8.0 Demo下载地址 GCProtocolDelegate 转载于:https://www.cnblogs.com/Free-Thinker/p/4973155.html
http://www.zqtcl.cn/news/833637/

相关文章:

  • 廊坊做网站哪家好深圳快速网站制
  • 网站开发文档实训小结与讨论做网站建设业务员好吗
  • 网站开发知识产权归属好看的个人网站设计
  • 怎么学习企业网站维护江西省城乡建设培训网站官方网站
  • 电脑网站 源码php网站数据库修改
  • 做网站系统的答辩ppt范文商品关键词优化的方法
  • 长沙网站设计公司怎么样如何在网站上推广自己的产品
  • 龙岗网站设计农业网站模板WordPress
  • 摄像头监控设备企业网站模板聊城网站设计公司
  • 做英文网站賺钱建筑设计资料网站
  • 上海专业网站建设平台百度sem认证
  • 个人房产查询系统网站官网推广普通话 奋进新征程
  • 网站设计理念介绍石家庄业之峰装饰公司怎么样
  • 博乐建设工程信息网站ppt软件下载免费版
  • 宿州公司网站建设企业管理培训课程讲座大全
  • 企业网站营销的优缺点Vs做的网站调试时如何适应网页
  • 策划案网站构成怎么写wordpress建个人博客
  • 自己做的网站别人怎么访问美容行业网站建设多少价格
  • 网站建设与运营 教材 崔海口个人建站模板
  • 做本地网站赚钱吗wordpress桌面宠物
  • 滁州市城市建设投资有限公司网站云服务器里面做网站播放器
  • 做yy头像的网站口碑营销案例简短
  • 卖灯杆的做网站好网页ip代理
  • 做网站开发工具哪个好网络协议分析课程设计报告
  • 如何进行营销型企业网站的优化网站开发有很多种吗
  • 卡片式设计网站营销培训课程视频
  • 网站rss地址生成wordpress 首页幻灯片
  • 网络营销软件专业网站优化方案
  • 展览公司网站建设方案深圳正规做网站的公司
  • 网站做关键词首页淮南网站建设报价