• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

关于swift的guard使用一定要慎用

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

  很久没有更新博客,因为换了工作环境,适应了一段时间,哎,年龄大了就是这样,适应一件事要花很多时间,不过不管怎么说,过程虽然磕磕绊绊,但总的来说还是美好的。额,闲话不多说,来看看今天要唠的话题是什么。

  进入新的工作环境后,iOS的编写已经从oc过渡到swift,因为常年使用oc,所以老实说,在使用swift的过程中遇到了许许多多奇葩的问题,今天要说的就是问题之一,尽管看起来很弱智的问题,但是我确实做到了。

  swift新推出的guard关键字,直译为保护,帮助保护不安全的解包,防止强制解包导致程序crash,刚开始使用的时候,真的是非常爽,比如这个样子。

  一旦提取的object不符合条件要求,这个方法就会直接return不会向下进行,如果符合要求,程序就会继续向下运行,而且,敲黑板了,data的使用区域不受guard括号的范围限制,这是与if判断不同的,上代码。

  

  使用if判断保护的变量,使用返回仅限于if的括号范围内,这就导致使用这个变量的代码,只能写在if括号范围之内,十分不方便,也不够优美。对,不够优美,但这并不表示可以随便使用guard这个关键字,因为,因为....上代码。

  

  在for,while,do-while等循环语句中使用guard,一旦变量不存在,就会直接跳出函数方法,导致剩下循环没办法进行,当程序使用数组的时候,容易造成数组越界,从而发生crash,这个问题很低级,但是我确实脑抽的发生了,造成很严重的后果,所以,写这边博客,一是记录一下自己的错误,二是提醒其他iOS开发者,尽量避免与我同样的错误。

  最后祝大家永无bug!!!!


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
openstack中cinder与swift、glance的区别发布时间:2022-07-13
下一篇:
01_Swift2基础之Swift简介+创建发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap