swift 3 和 xcode 8


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)!


Swift 3 是Xcode 8支持的主要开发语言,所以如果你选择继续用Swift 2.3 的话那么给你两点建议,第一,swift 2.3 和 swift 3 两者不能二进制兼容(也就是两种版本混编时候编译的时候会有冲突),所以在你的项目里你必须二者选其一。两者都支持编译,SDKs,和debugger,但是IDE的其它特性swift 2.3 是不支持的。举个例子,Playgrounds 只支持swift 3 不支持swift 2.3 ,而且开发iPad app的playgrounds也是用的swift 3的,Xcode工程的模板都是用的swift 3 ,并且所以文档都是基于swift 3 以恰当的形式展现出来的。
当今年下半年升级到Xcode 8 之后,你可以用swift 3.0 或者 swift 2.3 上架你的app。 在swift 3 里的改变代表着swift语言的未来,我们强烈的推荐你们安排时间去把你们的swift代码转成swift 3 中。或者你先临时转到swift 2.3 然后运行Xcode 8 将swift 2.3 转成 swift 3.0。

原英文地址:https://developer.apple.com/swift/blog/?id=36




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值