升级 Xcode 6.3 后,swift 的一些变化

升级swift版本后,需要做什么

Tom 创建于 2015-4-15

最新发表:


浅谈面向对象的SDK的结果处理方式

返回值、代理还是其他方法

你可能感兴趣的内容:


体验XCode9中的Swift

Swift与OC混合编译


iOS8的一些事

整理兼容的一些坑

升级了最新版的 Xcode 后,发现过去的 swift 项目有很多编译不过的。原来 swift 升级版本影响了编译。那么我就说说怎么去解决编译问题。


常见的问题


1. as 报错 以下写法,在 swift 1.0 的时候是正确的

var hkSelector: HomeKitSelector = xxx
let accessory:HMAccessory! = hkSelector.object as HMAccessory


swift 1.2 需要修改成

let accessory:HMAccessory! = hkSelector.object as! HMAccessory


2. super.init() 报错
升级 swift 1.2 后,super.init() 虽然代码能自动提示,但编译总是报错。这时,只能使用以下代码代替

super.init(nibName: nil, bundle: nil)



自动升级代码

为了省事,我们还可以通过 XCode 工具自动升级:
打开 swift 工程,点击 Edit 菜单,如下图所示:


有了这些方法,我们就能很快的体验新版 swift 了。