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

怎么建设58同城网站网站制作top

怎么建设58同城网站,网站制作top,怎样制作一个app软件,wordpress jp theme协议(Protocol)的作用#xff1a; 1. 规范接口#xff0c;用来定义一套公用的接口#xff1b; 2. 约束或筛选对象。 代理(Delegate)#xff1a; 它本身是一种设计模式#xff0c;委托一个对象遵守协议去做某件事情#xff0c;目的是为了降低对象间的耦合度#…协议(Protocol)的作用 1. 规范接口用来定义一套公用的接口 2. 约束或筛选对象。   代理(Delegate) 它本身是一种设计模式委托一个对象遵守协议去做某件事情目的是为了降低对象间的耦合度或用来逆向传值。   一、定义一套公用接口 1 /** 协议 */2 protocol ExecuteProtocol NSObject3 4 required5 /**6 * brief 必须实现的某个方法7 */8 - (NSUInteger)qualified;9 10 11 optional 12 /** 13 * brief 可选的方法 14 */ 15 - (void)doSomething; 16 17 end 协议只有.h文件没有.m文件。因为 Protocol 仅定义公用的一套接口并不能提供具体的实现方法。(具体的实现需要某个遵守了协议的类去实现然后该类就可以作为被筛选出来的对象做些事情后面会讲到)   假如控制器里面需要用到协议那么导入协议  1 #import ExecuteProtocol.h  并且实现协议的 required 方法(否则编译器会warning)   ViewController的代码如下 1 #import ViewController.h2 #import ExecuteProtocol.h3 #import Object.h4 5 interface ViewController ()6 property (nonatomic, strong) UILabel *label;7 end8 9 implementation ViewController 10 11 #pragma mark - View lifeCycle 12 - (void)viewDidLoad { 13 [super viewDidLoad]; 14 [self.view addSubview:self.label]; 15 [self getHouse:[[Object alloc] init]]; 16 } 17 18 - (void)getHouse:(id ExecuteProtocol)obj { 19 self.label.text [NSString stringWithFormat:%lu, [obj qualified]]; 20 } 21 22 #pragma mark - getter Methods 23 - (UILabel *)label { 24 if (!_label) { 25 _label [[UILabel alloc] initWithFrame:CGRectMake(100, 100, 100, 100)]; 26 _label.textAlignment NSTextAlignmentCenter; 27 _label.backgroundColor [UIColor redColor]; 28 } 29 return _label; 30 } 31 end 在控制器里面添加一个方法这个方法的参数必须是遵守了协议的某个对象所以创建了Object对象 1 #import Foundation/Foundation.h 2 #import ExecuteProtocol.h 3 4 /** 某对象 */ 5 interface Object : NSObject ExecuteProtocol 6 7 end 并且实现协议方法 1 #import Object.h 2 3 implementation Object 4 5 - (NSUInteger)qualified { 6 return 88; 7 } 8 9 end 简单的小Demo。   二、代理传值(SecondaryViewController 传值到 ViewController中) 1.在ViewController中 1 // ViewController需要 遵守代理 2 interface ViewController () SecondaryViewControllerDelegate 3 4 SecondaryViewController *secVC [[SecondaryViewController alloc] init]; 5 // 指定代理 6 secVC.delegate self; 7 [self.navigationController pushViewController:secVC animated:YES]; 1 // 实现required代理方法实现传值打印结果 2 #pragma mark - SecondaryViewControllerDelegate Methods 3 - (void)controller:(SecondaryViewController *)controller text:(NSString *)text { 4 NSLog(% %, controller, text); 5 }   2.在SecondaryViewController中 1)首先声明代理 1 #import UIKit/UIKit.h2 class SecondaryViewController;3 4 /**5 * brief 协议方法(类名Delegate)6 */7 protocol SecondaryViewControllerDelegate NSObject8 required9 /** 10 * brief 传值 11 * 12 * param controller 当前控制器 13 * param text 文本值 14 */ 15 - (void)controller:(SecondaryViewController *)controller text:(NSString *)text; 16 end 17 18 interface SecondaryViewController : UIViewController 19 /** 20 * brief 代理用weak修饰(防止内存泄露) 21 */ 22 property (nonatomic, weak) id SecondaryViewControllerDelegate delegate; 23 end 2)判断代理存在与否和方法是否响应 1 /** 2 * SecondaryViewController3 */4 - (void)touchesBegan:(NSSetUITouch * *)touches withEvent:(UIEvent *)event {5 /**6 * brief 判断是否设置了代理并且代理是否响应了代理方法7 */8 if (self.delegate [self.delegate respondsToSelector:selector(controller:text:)]) {9 [self.delegate controller:self text:传值]; 10 } 11 [self.navigationController popViewControllerAnimated:YES]; 12 } 源码戳这里 尊重作者劳动成果转载请注明 【kingdev】转载于:https://www.cnblogs.com/xiu619544553/p/5295079.html
http://www.pierceye.com/news/745024/

相关文章:

  • 郑州网络营销网站定制做网站服务
  • 学校网站英文怎么做souq网站
  • 原油可以取什么做标题发网站免费建网站哪个好
  • 莱特币做空 网站一个虚拟主机可以放几个网站
  • 注册个体可以做网站吗太平洋建设集团有限公司
  • 餐饮环境评估在哪个网站做天元建设集团有限公司法人
  • 汽车租赁网站开发网站建设实验周志与总结
  • 有没有哪个做美食的网站wordpress多用户模版
  • 网站关键词几个justnews wordpress
  • 创维爱内购网站2017网站设计尺寸
  • 网站建设的一般过程包括哪些方面手机免费制作app的软件下载
  • dw对网站建设有哪些作用深圳团购网站设计多少钱
  • 阿里巴巴网站详情页怎么做龙岩公司做网站
  • 网站后台这么做视频教程佛山百度seo排名
  • 网站建立吸引人的策划活动适合做推广的平台
  • 无锡市住房和城乡建设局网站昆明做网站的网络公司
  • 家居seo整站优化方案已经有了网站源代码怎样搭建
  • 红河州网站建设对网站做维护
  • 网站建设5000费用预算wordpress 鼠标点击特效
  • 江门企业自助建站系统做网站诱导网站
  • 知识问答网站开发南昌建站
  • 开发网站需要租服务器网易企业邮箱如何申请注册
  • 青岛市黄岛区城市建设局网站南京建设监理协会网站
  • 网站设计要点做网站的是什么职业
  • 造型设计网站推荐哪些企业网站做得好
  • 东丰网站建设网络域名怎么注册
  • 行业网站模板装饰公司东莞网站建设
  • 成都政务网站建设电脑编程与网站建设
  • 描述电子商务网站建设网站开发教程H5
  • 个人做电影网站有什么风险招聘网站制作公司