写点什么

Swift 3 来了!

  • 2016-09-25
  • 本文字数:835 字

    阅读完需:约 3 分钟

Apple 工程师 Ted Kremenek 在博文中写道,Swift 3.0 已发布。这次发布的新版本中对于语言及其标准库进行了大量的修改,增加了Linux 端口,并首次官方发布了 Swift Package Manager

自 2015 年底 Apple开源 Swift 之后,Swift 3 是首个发布的主要版本,该版本实现了 Swift 演变过程中所讨论并通过的 90 多个提议。

Swift 3.0 中的一系列变化旨在依照 Swift API Design 指南,通过去除一部分可能被视作遗留下来的 Objective-C 的内容,来清理 API。这个举措可以有效缩短 Swift 的语法,并增强一致性:

需要命名函数和方法的第一个参数以实现写操作(除非用 _ 显式省略):

复制代码
aString.write(toFile: "filename", atomically: true, encoding: NSUTF8StringEncoding)
UIFont.preferredFont(forTextStyle: UIFontTextStyleSubheadline)

而不是:

复制代码
aString.writeToFile("filename", atomically: true, encoding: NSUTF8StringEncoding)
UIFont.preferredFontForTextStyle(UIFontTextStyleSubheadline)

省略不必要的词:

复制代码
UIColor.red()

而不是:

复制代码
UIColor.redColor()

当上述的两条规则同时采纳的时候会产生更好的效果,例如下面的语句所示:

复制代码
aString.stringByReplacingOccurrencesOfString("A", withString: "a")

变成:

复制代码
aString.replacingOccurrences(of: "A", with: "a")

Swift 3 改进的另外一个版块是处理属于多个 Cocoa 框架的 C 功能。比如说所有以 CGContext、CGAffineTansform、CGPDFDocument 等开始的 Core Graphics 功能,现在可以被称为是对象的方法:

复制代码
if let ctx = UIGraphicsGetCurrentContext() {
ctx.setFillColor(UIColor.red().cgColor)
...
}
CGAffineTransform(translationX: 64, y: 0)

Swift 3 中还对语法进行了改变,以清理语言。比如说,去除了 ++ 和 -- 运算符,去除了函数的参数中的var ,去除了 C 语言中的循环条件和增量器,这些语法带来的弊大于利。

Swift 3 的变化列表涵盖了太多内容,很抱歉我们无法在一篇文章中涵盖所有的内容。你可以在官方的公告中查看所有的更新细节。

查看英文原文 Swift 3 is Out

2016-09-25 19:003807
用户头像

发布了 218 篇内容, 共 79.3 次阅读, 收获喜欢 76 次。

关注

评论

发布
暂无评论
发现更多内容

阿里巴巴Aliware十年微服务架构演进历程中的挑战与实践

阿里技术

天猫技术全面打造『身临其境』的消费者交互体验

阿里技术

Rust 元宇宙 2 — 邻居

Miracle

rust 元宇宙

Apache再次接受阿里开源产品捐赠 移动开发框架Weex进入孵化

阿里技术

超强实时跟踪系统首次开源!支持跨镜头、多类别、小目标跟踪!

百度大脑

人工智能 人工智能摄像头

你需要用战略耐心实现职业目标

石云升

读书笔记 11月日更

阿里科学家凭集成学习技术获CIKM Cup竞赛冠军

阿里技术

Rust 元宇宙 4 —— 让世界动起来

Miracle

rust 元宇宙

应运而生! 双11当天处理数据5PB—HiStore助力打造全球最大列存储数据库

阿里技术

阿里巴巴服务网格技术三位一体战略背后的思考与实践

阿里巴巴云原生

阿里云 云原生 服务网格 三位一体

[干货]语音技术最新进展-Interspeech总结

阿里技术

[干货] Weex在双11会场的大规模应用:业务支撑、稳定性保障和秒开实战

阿里技术

Rust 元宇宙 5 —— SDL2.0

Miracle

rust SDL 元宇宙

2016年双11:新技术、新能源的第一战场

阿里技术

阿里巴巴数据中心获两项DCD大奖

阿里技术

当学霸们跑步的时候他们在跑什么

阿里技术

直播预告丨“Hello ArkUI:初识Slider组件(JS)”周三约起

HarmonyOS开发者

HarmonyOS

Rust 元宇宙 3 —— 进入和离开

Miracle

rust 元宇宙

使用redis生成唯一编号

喵叔

11月日更

阿里CTO张建锋:一根高尔夫球杆背后的数据智能[演讲全文]

阿里技术

普华永道:阿里巴巴研发投入领跑中国上市公司

阿里技术

Rust 元宇宙 1 —— 创世纪

Miracle

rust 元宇宙

最前沿人工智能,助力双11搜索推荐技术再升级——深度增强学习大规模在线应用

阿里技术

百度ERNIE新突破!登顶中文医疗信息处理权威榜单CBLUE冠军

百度大脑

人工智能

马云:“电子商务”将消失 新五通一平将引领未来

阿里技术

王坚:世界上最遥远的距离是红绿灯与交通监控摄像头的距离

阿里技术

新零售时代的双11移动技术亮剑 ——2016年阿里移动平台新技术解读

阿里技术

阿里研究员毕玄谈应用运维体系的变迁,DevOPS是大势所趋

阿里技术

Rust 元宇宙 6 —— 显示世界

Miracle

rust SDL 元宇宙

网络监控原理

喀拉峻

网络安全 安全 网络

Swift 3来了!_开源_Sergio De Simone_InfoQ精选文章