20171122
有时可能会有这样的需求:一个项目的开发和发布由公司不同部门的人负责,当开发项目的人用最新的Xcode写代码、而负责打包的同事因为特殊原因不能升级Xcode的时候,开发的同事就必须迁就发布的同事了,此时将会用到以Swfit版本号为依据的条件编译。只举一个例子:
let name = "Rick"
var charsCount = 0
#if swift(>=3.2)
charsCount = 4 + name.count - 1
#else
charsCount = 4 + name.characters.count - 1
#endif
苹果在Swift3.2中废弃了”characters”属性:
严谨起见,并消除Xcode警告,同时适配3.0、3.1版本的Swift,此处用了条件编译。
值得注意的是,#if swift(>=3.2)不能写成#if swift(<3.2)似乎表达式swift()只允许>=语法。
环境: Xcode 9.1, Swift 3.2;
本文介绍了在Swift开发中,如何根据版本号进行条件编译以适配不同Swift版本。例如,由于Swift3.2废弃了'characters'属性,为消除警告并兼容3.0和3.1版本,开发者可以使用条件编译来处理。注意,条件编译表达式有特定的语法限制。
1538

被折叠的 条评论
为什么被折叠?



