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

全网营销销售郑州seo网站管理

全网营销销售,郑州seo网站管理,网站制作很好 乐云践新,wordpress 前台注册前情 在iOS开发中#xff0c;经常需要将事件传递给上层代理去处理#xff0c;这个时候会用到『respondsToSelector』去检测上层代理是否有实现对应的方法#xff0c;如果实现了#xff0c;才会去调用。 - (void)methodExample {if ([self.delegate respondsToSelector:se…前情 在iOS开发中经常需要将事件传递给上层代理去处理这个时候会用到『respondsToSelector』去检测上层代理是否有实现对应的方法如果实现了才会去调用。 - (void)methodExample {if ([self.delegate respondsToSelector:selector(cell:didClickOnUserInfo:)]) {[self.delegate cell:self didClickOnUserInfo:self.item];} }而项目中很少直接调用respondsToSelector而是调用了一个宏。 #define PackageRespondsToSelector(delegate,selector) ((delegate) ([delegate respondsToSelector:selector]))- (void)methodExample {if (PackageRespondsToSelector(self.delegate, selector(cell:didClickOnUserInfo:))) {[self.delegate cell:self didClickOnUserInfo:self.item];} }可以从宏的定义里发现实际上就是在调用系统respondsToSelector方法前先对方法调用者delegate进行了一个判空操作。 但实际上我们开发时是否需要这个判空操作 实测 - (void)method1 {if ([self.delegate respondsToSelector:selector(cell:didClickOnUserInfo:)]) {[self.delegate cell:self didClickOnUserInfo:self.item];} }- (void)method2 {if (self.delegate ([self.delegate respondsToSelector:selector(cell:didClickOnUserInfo:)])) {[self.delegate cell:self didClickOnUserInfo:self.item];} }当 self.delegate 不为 nil 时method1 和 method2 效果肯定是等价的 当 self.delegate 为 nil 时 ** 先看method2self.delegate为nil都不会去执行后面的判断而直接返回NO。 ** 再看method1nil调用respondsToSelector方法会返回什么 直接写个demorun起来后发现 fanHuiZhi 为 NO。可知nil调用respondsToSelector方法会返回NO。 - (void)methodDemo {self.delegate nil;BOOL fanHuiZhi [self.delegate respondsToSelector:selector(cell:didClickOnUserInfo:)]if (fanHuiZhi) {[self.delegate cell:self didClickOnUserInfo:self.item];} }参考 https://www.jianshu.com/p/11dca953f962 中的说法。nil调用方法 返回什么取决于该方法的返回值类型。respondsToSelector方法的返回值类型为BOOL所以[nil respondsToSelector:xxx]会得到NO 故可以知道self.delegate 为 nil 的时候if 判断都是 NO不会去调用代理方法故 method1和 method2等价。 不论 self.delegate 是否为 nilmethod1和 method2都是等价的调用封装的宏PackageRespondsToSelector和直接调用系统api respondsToSelector是一样的。 结论使用respondsToSelector方法前不需要对方法调用者进行判空操作
http://www.zqtcl.cn/news/373433/

相关文章:

  • dw怎么做网站首页邯郸网站建设品牌加盟
  • 辽宁省建筑工程造价信息网深圳市seo点击排名软件价格
  • 网站建设宗旨是指建设中英文网站
  • 浙江网站建设价格低东莞网站建设推广多少钱
  • 网站服务器重做系统怎么做快速提升网站权重
  • 怎么做自己的html网站网站收录不好的原因
  • 武夷山住房和城乡建设局网站网站提权
  • 电 器建设网站目的及功能定位百度的网站域名
  • 个人备案网站类型网站制作 徐州
  • 北京网站建设推贵州能源网站 中企动力建设
  • 鲅鱼圈网站在哪做vs2013网站开发教程
  • 花艺企业网站建设规划wordpress首页文件
  • 东莞建站模板源码交易所网站开发
  • p2p理财网站开发流程新手怎么搭建网站
  • 阅读网站策划书网站模板建站教程视频
  • 计算机网站开发毕业设计论文开题报告吴中区网站建设技术
  • cdn能为网站上宁波北仑做公司网站
  • wap网站分享到微信福建漳州建设局网站
  • wordpress子站点解析浙江省特种作业证查询官网
  • 长春门户网站建设制作上门做网站哪里有
  • 提卡网站建设西安成品网站建设
  • 广州做餐饮的招聘网站买毕业设计的网站
  • 涡阳网站建设网站开发工程师项目经验
  • 手机网站建站系统成都如何做网站
  • 安徽省住房和建设执业资格注册中心网站优质公司网站
  • 深圳福田做网站公司cname解析对网站影响
  • 做个网站要多久网站制作文案
  • 用户搭建网站wordpress代码实现头像
  • 和平区网站建设app和手机网站
  • 腾讯科技微信小程序电商seo是什么意思啊