Xcode8中Swift的使用
Xcode8中Swift的使用
在Xcode8里有两套Swift的语法规则, 一套是2.3,一套是3.0(算是Swift的第一个独立正式版<去NS化>).
苹果在Xcode8引入了Swift版本配置信息: Swift Compiler - Version, 这个配置信息就是用来管理Swift语言版本的.
'Swift Compiler - Version'修改方法及简单说明:
进入Build Settings, 搜索"SWIFT_VERSION", 在Swift Compiler - Version项有'Use Legacy Swift Language Version'这个子项,
它有三个可选值:
- YES: 使用Swift2.3语法;
- NO: 使用Swift3.0语法;
- Unspecified: 未指定
暂时不知道Xcode会如何选择语法版本, 不过我测试时2.3语法一定要选YES
将这个选项设置成YES就可以在Xcode8上用2.3的语法了.
附
在测试时发现使用第三方库的时候出现很多问题, 第三方库也有'SWIFT_VERSION' 我看到有些写的时版号, 有的和自己建的项目一样.
经过我几个小时的简单测试发现这要看第三方库的适配情况了, 我测试时cocoapods有大量更新, 不过我遇到了一个新问题: Podfile文件里一般没有写死版本号, 这时直接更新就会出一些问题了, 有的第三方库是直接下载最新的, 当第三方库适配了3.0的语法时就不能用最新的版本了.
解决方法: 把Podfile文件里的第三方库的版本写死! 同时记得修改第三方库的'SWIFT_VERSION'
注
在这里我例举几个第三方库:
自动布局: SnapKit, 2.3使用0.30.0.beta1; 3.0使用最新.
数据处理库: ObjectMapper, 2.0.0用在3.0语法中, 2.3请使用1.4.0
图片处理库: Kingfisher, 2.3语法项目中可以使用2.6.0的, 3.0.1请用在3.0的语法项目中
测试时间不长, 只得出以上结论, 只经过简单论证. 如有错误欢迎指出!