我刚刚开始使用Xcode9 (beta2)。我的理解是,这不会迫使我立即更改代码。但是,我正在使用一个库(Gloss)来获得一个构建错误:
( 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的选项。似乎有几种可能性:
有什么想法?
发布于 2017-07-06 06:08:54
Xcode 9与Swift 3和4交叉兼容,但是,您需要使用SWIFT3.2,这是Xcode 9的最低要求。
发布于 2018-04-13 03:58:21
您可以从Xcode项目的Build Settings中找到特定Xcode支持的语言列表。
下面是示例参考,如何查看它:
(对于Xcode 9,它支持Swift 3.2和Swift 4.0)

以下是参考答案,您如何轻松地从SWIFT3.0切换到4.0
https://stackoverflow.com/questions/44914690
复制相似问题