首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xcode9向后兼容Swift 3(或3.1)吗?

Xcode9向后兼容Swift 3(或3.1)吗?
EN

Stack Overflow用户
提问于 2017-07-04 22:26:38
回答 2查看 465关注 0票数 3

我刚刚开始使用Xcode9 (beta2)。我的理解是,这不会迫使我立即更改代码。但是,我正在使用一个库(Gloss)来获得一个构建错误:

( 1)下列代码:

代码语言:javascript
复制
public func valueForKeyPath(keyPath: String, withDelimiter delimiter: String = GlossKeyPathDelimiter, logger: Logger = GlossLogger()) -> Any? {

我得到:

初始化器'init()‘是内部的,不能从缺省参数值引用。

( 2)本守则:

代码语言:javascript
复制
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的选项。似乎有几种可能性:

  1. 需要设置一些标志以保持SWIFT3.1向后兼容性
  2. Xcode9还在测试阶段,只是还没有完全准备好
  3. Xcode9不会完全向后兼容SWIFT3.1

有什么想法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-06 06:08:54

Xcode 9与Swift 3和4交叉兼容,但是,您需要使用SWIFT3.2,这是Xcode 9的最低要求。

票数 1
EN

Stack Overflow用户

发布于 2018-04-13 03:58:21

您可以从Xcode项目的Build Settings中找到特定Xcode支持的语言列表。

下面是示例参考,如何查看它:

(对于Xcode 9,它支持Swift 3.2和Swift 4.0)

以下是参考答案,您如何轻松地从SWIFT3.0切换到4.0

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44914690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档