iOS-swiftSwift开发移动开发技术前沿

Swift4 新特性一览

2017-06-10  本文已影响2607人  nimomeng

本篇为 2017 WWDC Session 402 笔记,原视频在这里

语法特性

var targetControl: [UIControl & Shakeable]

再例如,在OC中,我们会有如下代码:

@property (weak) NSView<NSTextInputClient> *client;

在Swift4中,直接可以用以下语句来实现

var client: [NSView & NSTextInputClient]?

工具附加特性

编译相关

String相关

Swift3:
let values = "One, Tow,Three...."
var i = values.characters.startIndex

在Swift4中,变成了

Swift4:
let values = "One, Tow,Three...."
var i = values.startIndex
values[i ..< values.endIndex]

在Swift4中,直接改成了:

value[i...]

利用i...这种类型,会自动匹配到string结尾

var str = "Q: How does the project \(projectName) do in this process? A: It followed these steps: \(step1), \(step2),\(step3)... Q: That's very helpful."

在Swift4中可以写成:

var str = """
                  Q: How does the project \(projectName) do in this process? 
                  A: It followed these steps: \(step1), \(step2),\(step3)... 
                  Q: That's very helpful.
          """

看起来更加的结构化。

其余特性

个人感想

当然,由于Session的时间限制,肯定没有把所有Swift4的特性说全。仅就列出来的这几个,我个人比较喜欢的有 XCode支持Swift的refactor,Swift编译速度加快,以及String本身包含了Characters Collector这几个。
由于Swift的开源属性,也使得Swif借由社区的力量越来越好用以及越来越强大。这个对iOS开发者来说是一个天大的好事。
再加上最近WWDC上release出来的几个强大的SDK,例如CoreML,ARKit等,个人觉得iOS开发者的好日子来了。

其它推荐

如果你是Swift新手,可以参考下我之前写的30天30个Swift小App
相关Github地址为:
https://github.com/nimomeng/30-swift-projects-in-30-days

上一篇 下一篇

猜你喜欢

热点阅读