Learning Swift 3.0 - 从精通到重新入门

Swift 3.0带来了重大API调整,包括命名简化、C式API替换、取消NS前缀等,旨在减少Objective-C和C的影响,形成独特的Swift风格。API命名更规范,C的GCD和Core Graphics API被重写,enum改为小写,隐式解包可选使用场景受限,类方法调用方式更新,C风格的For循环和柯里化语法移除,新增Swift Package Manager,加强跨平台能力。这次更新对开发者意味着一次全新的学习过程。
摘要由CSDN通过智能技术生成

前言

Swift 3.0是 Swift 加入到开源社区以来,第一次发布大版本。

作为下一代的Apple官方语言,从 Swift 2 开始,已经算是一门比较完善的语言了,完全可以当做iOS和macOS开发的主力,Swift 1 > 2 > 3 的改变,可以看出Apple的思路:

  • Swift 1 作为一个新的语言,紧抱Objective-C大腿,除了现代的语法,api几乎照搬,以便原来的开发者能够继续以Objective-C思维模式使用Swift开发,尽量吸引新老开发者,至于语言的稳定性,做的并不好。

  • Swift 2 则巩固1代的成果,提出的新语法寥寥无几(改进了的异常处理,something else…),Apple着力于加强它的稳定性和兼容性,加强了对这个语言的推广,最终在 2.2 版本加入了开源社区,现在已经被移植到了linux平台,甚至曾经被移植到Android上。

  • 在新的 Swift 3 里,语法上的变化已经开始减少了,多的是API的调整,Apple现在做的事,像是在减少Objective-C和C对Swift的影响,新式的API变得简单了,特别是C,Core打头的各种API,大多都被完全用Swift重写了:

let path = CGMutablePath()
path.move(transform: &transform, x: topLeft.x, y: topLeft.y)

总的感觉就是:出道这么久,Swift要自立门户了。
广大开发者们常说:Swift 3.0 - 从精通到重新入门,这一天终于来了。
现在来看看Swift 3 有什么新变化吧,以下只是自己总结,不太全,未完待续↓

API命名简化

  • 优化将方法名切分,将操作中的动词提取,作为方法名.将其余部分作为参数名.

  • 在不引起歧义的情况下,去掉了重复性的名词.

// old code (Swift 2.2)
let content = text.stringByTrimmingCharactersInSet(NSCharacterSet.newlineCharacterSet())

// new code (Swift 3.0)
let content2 = text.trimmingCharacters(in: .newlines)

C式API替换

很多Core打头和常用的C的api,在新的swift中全部重写成了swift风格的,如下:

GCD api

// old way, Swift 2
let queue = dispatch_queue_create("com.test.myqueue", nil)
dispatch_async(queue) {
    print(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值