写点什么

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:003741
用户头像

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

关注

评论

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

软件测试学习笔记丨JUnit5并行策略

测试人

软件测试

大模型时代的基础架构,大模型算力中心建设指南重磅来袭!

博文视点Broadview

简单聊聊政府机构为什么要采购堡垒机

行云管家

网络安全 等保 堡垒机 政府

关键帧功能怎么使用 关键帧控制视频特效怎么用 会声会影视频剪辑软件教程

阿拉灯神丁

教程分享 软件包 会声会影2023 视频剪辑软件

MES系统的功能、架构及应用价值

万界星空科技

数字化转型 生产管理系统 智能制造 mes 万界星空科技

【等保新资讯】等级保护测评服务认证证书样式更换啦!

行云管家

等保 等级保护

ODN网络弱光聚类定界与整治

鲸品堂

运维

第57期|GPTSecurity周报

云起无垠

AIGC GPT

【最新】GPT-4o模型使用心得+无限制使用教学

蓉蓉

gpt4o

MySQL 9.0 悄悄上线,支持面向AI的向量数据库

NineData

MySQL 体验 NineData MySQL9.0 上线

【HDC.2024】探索无限可能:华为云区块链+X,创新融合新篇章

云计算 软件开发 华为云

Databend 开源周报第 151 期

Databend

液压件工厂的MES解决方案:智能生产,高效未来

万界星空科技

mes 万界星空科技 液压件工厂 液压件加工 生产管理MES系统

什么是圈子论坛系统,圈子论坛系统具备哪些基本功能,社交圈系统

DUOKE七七

低代码组件扩展方案在复杂业务场景下的设计与实践

百度Geek说

npm 企业号2024年7月PK榜

性能测试:主流压测工具介绍

霍格沃兹测试开发学社

重磅!云起无垠荣获“智能模糊测试赛道领航者”等多项殊荣

云起无垠

重大丨深中通道今通车!继港珠澳大桥后,三思再度点亮世界工程

电子信息发烧客

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