Swift 3 beta版 作为Xcode 8 的一部分发布,其包含了许多增强功能,很多功能是由开源组织提供的。swift 3 的主要目标是让最新的主要资源改变时必要的可以允许swift语言合并贯穿并统一以实现更稳定的语法,这样有利于未来的发布。
Swift 语法和API 的重命名变化让这门语言再Swift 3 中变得更自然,并且提供一种更加 Swif-y 的体验在引入Cocoa frameworks。在Swift中主流的frameworks 核心制图 和 GCD多线程优化技术 有新的更明确清楚的接口。此次发布提高了编译的表现,并且包括许多细节的修复使你用起来更舒适。
Xcode 8 beta 包含了一个迁移功能为swift 文件和playgrounds 服务,他可以帮助你将已存在的swift低版本的代码转换到swift3。
Swift 2.3
另外Swift 3 ,Xcode 8 支持swift 2.3 的开发,swif 2.3 是swift 2.2(xcode 7.3 发布的版本)的一个不完全的更新,使其能够支持新的macOS Sierra ,iOS 10,tvOS 10,和 watchOS 3 这些系统的SDK。swift 2.3版本的的出现是为了让开发者迅速的将老代码转移及新的环境并能使用新的SDK。甚至那些正在用swift 2.2开发的还没准备好转到swift 3的。
Xcode 8 可以转移现有代码到swift 2.3 的转变,最主要是与被添加到新的额SDKs 空值可能性的明确性有关 。举个例子:
Swift 2.2 Core Image code without the new SDK nullability definition: 图片没有新的SDK的空值可能性的定义
let image = CIImage(MTLTexture: texture, options: options)
Swift 2.3 code makes the failable initializer more clear: 2.3 让可能失败的初始化更明确
if let image = CIImage(MTLTexture: texture, options: options)
Or:
let image = CIImage(MTLTexture: texture, options: options)!
原英文地址:https://developer.apple.com/swift/blog/?id=36