加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift2.0 - 渐来的美好(也许应该要收回我之前说的话了)

发布时间:2020-12-14 01:46:21 所属栏目:百科 来源:网络整理
导读:前些时iOS9携带swift2.0更新,我也将项目更新到了最新的版本上线。 xcode在Edit菜单下, convert - To Latest Swift Syntax 和 convert - To Modern Objective-C Syntax ,这两个功能能帮助调整优化代码,并让人快速了解语言的最新动态。 swift1.x时我曾发牢

前些时iOS9携带swift2.0更新,我也将项目更新到了最新的版本上线。

xcode在Edit菜单下,convert->To Latest Swift Syntaxconvert->To Modern Objective-C Syntax,这两个功能能帮助调整优化代码,并让人快速了解语言的最新动态。

swift1.x时我曾发牢骚说swift的难用(http://www.52php.cn/article/p-voejtkzp-es.html),当时除了编辑器频繁崩溃、调试器断点不准等工具不够成熟的原因之外,语言也没表现出让人欣喜的特性,而为了兼容iOS SDK,更有许多让人不爽的hack。

不过毕竟又多了一年的改善,工具有了很大进步。现在虽然偶尔编辑器会不进行补全、调试器单步依然乱跳之外,比之前已经好多了。语言上,swift2.0如下特性还是很不错的:

1. guard关键字。像我这种在函数入口,对function input不验证不舒服斯基的人,感觉生活一下美好了。guard还附带了optional unwrapping,赞!

2. forced exception。exception的定位是:系统无法正常运行了,必须要有特殊的干预,需要catch来特殊处理;而普通出错的NSError,其实可以认为是有不同返回情况的正常调用。这样的设计思路,能够让开发者能更清晰的知道何处必须单独处理,何处可以抓大放小。

3. 关于struct的言论。WWDC 2105中有一个讲座,言及truct优于class之处,其中提到struct的数据安全性,感觉还是有一些道理的。当然,我们这种从C走过来的人,对效率的追求已经深入骨髓,因此对于C++总是会不自觉地推崇。但从另一方面来看,在现在云计算的热潮下,单台计算机的计算效率也许真的不如原来那么重要了。从程序角度而言,算法效率上的改善无论何时都是第一要义的,语言特性所带来的效率提升(比如越界检查检查、数据拷贝等),则应该做在编译器侧,而不应该是代码需要关注的问题。从这个角度而言,pass by pointer,pass by value这类C++中让人引以为傲的精微之处,也许真的没那么重要了。(前些时C++11中的move constructor还让我眼前一亮,感叹于c++对于数据拷贝的细致;其与swift中关于struct的言论,可以认为是两种不同的编程哲学,谈不上谁对谁错,可以认为是各自有其适用情形)


希望swift越来越好。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读