[英]Is Xcode9 backwards compatible to Swift 3 (or 3.1)?
我刚刚开始使用Xcode9(beta2)。 我的理解是它不会强迫我立即改变我的代码。 但是,我正在使用我正在使用的库(光泽)出现构建错误:
1)对于以下代码:
public func valueForKeyPath(keyPath: String, withDelimiter delimiter: String = GlossKeyPathDelimiter, logger: Logger = GlossLogger()) -> Any? {
我明白了:
初始化程序'init()'是内部的,不能从默认参数值引用
2)对于此代码:
internal func flatMap<KeyPrime : Hashable, ValuePrime>(_ transform: (Key, Value) throws -> (KeyPrime, ValuePrime)?) rethrows -> [KeyPrime : ValuePrime] {
return Dictionary<KeyPrime,ValuePrime>(elements: try flatMap({ (key, value) in
return try transform(key, value)
}))
}
我越来越:
闭包元组参数'(key:_,value:_)'不支持解构
这两个都没有引起Xcode 8.3 / Swift 3.1的问题。
我使用Xcode9而没有选择更新到Swift 4的选项。似乎有几种可能性:
思考?
Xcode 9与Swift 3和4交叉兼容。但是,你需要使用Swift 3.2,这是Xcode 9的最小值。
您可以从Xcode项目的Build Settings
中找到特定Xcode支持的语言列表。
以下是示例参考,您将如何看待它:
(对于Xcode 9,它支持,Swift 3.2和Swift 4.0)
以下是参考答案,您可以轻松地从Swift 3.0切换到4.0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.