你好,游客 登录 注册 搜索
背景:
阅读新闻

Swift 3来了!

[日期:2016-09-26] 来源:infoq.com  作者:Sergio De Simone ,译者 刘嘉洋 [字体: ]

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的内容你可能也喜欢

Ubuntu 14.04.4 下安装 Swift 2.2.1  http://www.linuxidc.com/Linux/2016-05/131249.htm

Ubuntu 15.10安装部署Swift开发环境  http://www.linuxidc.com/Linux/2016-01/126995.htm 

Swift 的变化:从 2.2 到 3.0 会带来什么  http://www.linuxidc.com/Linux/2015-12/126440.htm 

Swift 正式开源,同时开源 Swfit 核心库和包管理器 http://www.linuxidc.com/Linux/2015-12/125847.htm 

Apple Swift学习教程  http://www.linuxidc.com/Linux/2014-09/106420.htm 

使用 Swift 构建一个 iOS 的邮件应用 http://www.linuxidc.com/Linux/2014-08/105542.htm 

Swift 2.0开源化  http://www.linuxidc.com/Linux/2015-06/118594.htm 

Linux下搭建Swift语言开发学习环境 http://www.linuxidc.com/Linux/2015-12/125983.htm 

Swift 的详细介绍请点这里 

查看英文原文Swift 3 is Out

本文永久更新链接地址http://www.linuxidc.com/Linux/2016-09/135507.htm

linux
相关资讯       Swift 3 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款