转自:微点阅读  https://www.weidianyuedu.com

经过多年的发展,Swift如今也得到了许多人的青睐。它不仅提供类型安全性,而且比许多语言都简洁得多。它的功能在发展中不断增加,一定有很多你不知道的技巧隐藏其中。本文我就将和大家分享一些Swift语言编写代码的方法,它们可以帮助你构建出更好的iOS应用。

在初始化时调用willSet和didSet简而言之,就是第一次初始化属性时不会调用willSet和didSet属性观察器,但是可以通过将初始化包装在defer语句中来解决这个问题。尽管有点笨拙,但是由于你不得不以某种方式设置默认值(在声明中或在外部defer中),掌握之后就会很快乐。

使用Maps安全打开选项通常我们会使用if let或guardlet语法来安全地打开Swift中的选项,但有时我会想能不能有其他方法解决这个问题,尤其是在展开子属性时。我们的另一个选择是:使用map操作符打开选项。只有当包含在map中的可选值包含某个值的时候才对其进行计算,从而确保其不为nil。

在可选的元组中,使用maps进行解包也很方便。用Swift语言可以进行这样的操作:

func sampleTuple() ->(String, String)?{    return nil}let (a, b) = sampleTuple().map { ($0, $1) } ?? ("NA","NA")

使用重新抛出进行强大的异常处理想必大家对throws关键字都很熟悉用得也很多,但是Swift中的rethrows功能可能就不是常常会用到了。使用rethrows关键字声明的函数表示,只有当其函数参数之一throws时才会抛出错误。也就是说,如果Closure参数没有引发错误,那么在调用它时我们无需使用其他try方法,这样一来就能大大减少样板代码。正如在下面的代码中看到的那样,我们不必将相同的不抛异常函数放入do-catch块中。

使用协议扩展进行默认实现Swift协议功能强大,但它们不允许你指定默认实现。如果你想避免重写方法,这样做可能会非常方便。此外,你还可以使用扩展中的where子句仅为某些约束指定协议实现,但要确保自己不会在代码库中过度使用协议扩展。

轻松跟踪字典中的更改如何进行Swift字典中的更改(可能是用于调试)?繁琐的方法是通过分散内容来实现,但是也有一种快速的方法,只需在保存该字典的对象上定义一个下标:

在不同场景使用guardletGuard let语句使用的是故障安全机制,其中nil值可确保您立即返回上一层。但在某些情况下,return并不是对我们最有利的方法。例如,你可能处于for循环中,只想要continue 或者 break,那么可以按照以下方式进行操作:

学会这些小技巧,去享受纵横驰骋的编码快乐吧。

6种快速编写代码的方式分享相关推荐

  1. 盘点6种快速编写代码的方式

    转载自品略图书馆 http://www.pinlue.com/article/2020/06/2313/4710794085436.html 经过多年的发展,Swift如今也得到了许多人的青睐.它不仅 ...

  2. Zen Coding: 一种快速编写HTML/CSS代码的方法

    译自:Smashing Magazine 中文:Zen Coding: 一种快速编写HTML/CSS代码的方法 请尊重版权,转载请注明来源! 在本文中我们将展示一种新的使用仿CSS选择器的语法来快速开 ...

  3. java sleep方法_6种快速统计代码执行时间的方法,真香!(史上最全)

    我们在日常开发中经常需要测试一些代码的执行时间,但又不想使用向 JMH(Java Microbenchmark Harness,Java 微基准测试套件)这么重的测试框架,所以本文就汇总了一些 Jav ...

  4. 跳转类内方法快捷键_想要快速编写代码,你得熟悉这些快捷键!

    PyCharm 常用快捷键 导语 工欲善其事必先利其器,想要快速编写代码,就必须要先熟悉快捷键,Python开发利器Pycharm常用快捷键如下,相信有了这些快捷键,你编写代码会事半功倍. 1编辑 S ...

  5. python代码编辑教程_python教程:pycharm编写代码的方式教学

    python可以说是新的编程语言,虽说是新编程,但一出来,就受到很长程序员的关注,而且刚出现和java进行对比,很多人就拿python和java进行比较,想python到底好不好,他和java有什么区 ...

  6. 如何使用 Android Studio 快速编写代码

    一.简介 我们知道 Android Studio 是 Google 基于 Idea 开发的一款针对安卓开发的 IDE.其提示功能强大,且支持众多插件,有助于帮助我们更快捷的编写代码. Android ...

  7. 如何快速编写代码及注意点 - 学习/总结

    1.应用场景 主要用于在日常的开发工作中,如何快速地编写代码,实现功能. 这里结合自己的经验,开发感受,进行整理输出. 帮助和期望能帮助大家高效高质完成工作任务,节约时间去做自己想做的事情. 2.学习 ...

  8. 两种编写代码风格方式对比

    一.简洁版本,便于阅读,不方便移植 //led.h #define LED1 PBout(0) #define LED2 PBout(1) #define LED3 PBout(5) void LED ...

  9. 6种快速统计代码执行时间的方法,真香!(史上最全)

    我们在日常开发中经常需要测试一些代码的执行时间,但又不想使用向 JMH(Java Microbenchmark Harness,Java 微基准测试套件)这么重的测试框架,所以本文就汇总了一些 Jav ...

最新文章

  1. 怎样在linux上部署web服务器
  2. ugui unity 图片缩放循环_Unity基础系列(四)——构造分形(递归的实现细节)...
  3. java线程暂停_Java之线程停止
  4. taskAffinity(Activity默认Application,Application默认包名,Task默认根Activity) singleInstance放入新栈
  5. lamp架构,搭建一个网络平台
  6. 20150324 作业1(升级喽)
  7. eclipse——配置maven插件
  8. 医用耗材管理系统设计思路分享来自北京博奥智源
  9. linux 极路由救砖,极路由刷机教程 极路由救砖方法图文详解
  10. 高效的串行数据驱动框架
  11. B树与B+树简明扼要的分析
  12. 阿里云服务器学生应该怎么购买教程以及将远程主机配置成服务器教程
  13. 小学生四则运算考试系统Java
  14. 图钉能按到墙上吗_像图钉一样把纸按在墙上的东西叫什么
  15. SSH建立连接的过程
  16. 洛谷三月月赛——P5238 整数校验器
  17. 联发科射频工程师题目_联发科笔试题及部分答案
  18. WebGoat 安装
  19. 停机问题--The Halting Problem
  20. java画股道站图_「游资股道指标库」通达信操盘主图分析公式

热门文章

  1. with recursive递归函数用法
  2. APP商品详情API调用展示,APP端商品详情API接口所有参数
  3. cad转换成pdf格式之后如何设置其背景色为白色?
  4. 往Domin 里上传文件代码
  5. 了解elk与elfk
  6. 2013复旦IT创新大会 达龙云桌面引领技术创新
  7. STS 使用git 更新代码时,冲突解决
  8. OFDM系统中基于dmrs导频的时间跟踪、频率跟踪算法
  9. 虚拟机克隆的两种方式
  10. qt解析json数据