问题标签 [swift4.1]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
391 浏览

swift - Swift 4.1 更新后 Eureka Forms 损坏

我刚刚更新到 Swift 4.1 并且 Eureka Forms 坏了。我正在尝试自己修复它,但我不确定从哪里开始。有谁知道图书馆作者是否已经解决了这个问题?我没有看到任何关于它的问题。我得到的错误如下:类型'Section'不符合协议'RangeReplaceableCollection'

候选人的类型不匹配'(Section) -> Void' [with SubSequence = Section.SubSequence]

候选人有非匹配类型'S' [with SubSequence = Section.SubSequence]

0 投票
1 回答
732 浏览

objective-c - BOOL 与 Swift 4.1 中的 Bool 不兼容

在 Objective-C 类的 Swift 子类中重写时,我收到一条消息:

属性类型'BOOL'(又名'bool')与继承自'ChildClass'的类型'Boolean'(又名'unsigned char')不兼容

我尝试使用其他布尔类型,但它不起作用。

知道如何在 Swift 中正确覆盖 Objc BOOL

Swift 代码(子类):

对象父声明:

出现警告的 Swift 桥接头:

0 投票
4 回答
4011 浏览

swift - Xcode 9.3(Swift 4.1)中的 Codable '没有初始化器'

更新到 Xcode 9.3(使用 Swift 4.1)后,发现如下问题:

  1. 创建一个空项目,向其中添加一个新的 .swift 文件并创建两个新类:

    创建到 Codable 类

    构建成功

  2. 添加一个新的常量CodableOne类型CodableTwo

    向 CodableOne 添加了一个新常量

    构建成功

  3. 现在将类移动CodableTwo到另一个文件(例如 ViewController.swift)

    CodableTwo 移动到另一个文件

    构建失败

现在有一个错误,它不会消失。Codable类不应该需要初始化器(如前面的步骤所示)。

任何关于这背后的问题以及如何解决的想法将不胜感激!


PS 问题在 Xcode 9.2 中不存在。也没有清理项目/构建路径,重新安装 Xcode 9.3 也没有帮助。

0 投票
1 回答
338 浏览

alamofire - 从 Swift 4 更新到 4.1 后的转换问题

在更新到 Swift 4.1 后,我遇到了一个奇怪的问题,从 JSON 到 [[Float]] 的转换失败。让我快速展示代码。

以上在 Swift 4.0 中工作得很好,但突然就失败了。我得到的回应如下。

如果我尝试将其硬转换为 [[Float]],我会得到

“无法将 NSNumber 桥接到 Float”

任何想法如何解决这一问题?它使用 Swift 4.0 运行良好。

0 投票
1 回答
1125 浏览

swift - Xcode 9.3 中的警告

当我在模拟器中运行我的应用程序时,我在 Xcode 中收到此警告。我能做些什么来摆脱它?

在 Internet 上找不到对“类 VCWeakObjectHolder”的单一引用。它让我发疯......虽然这只是一个警告。

更新:Xcode 9.3.1 和 Xcode 9.4 beta 都给出相同的警告。

在此处输入图像描述

0 投票
6 回答
37340 浏览

ios - 状态栏找不到缓存的时间字符串图像。正在渲染

升级到 Swift4.1 和 Xcode 9.3 后,我收到上述运行时消息。在升级之前,我的控制台窗口中没有此消息。

状态栏找不到缓存的时间字符串图像。正在渲染。

只要我运行应用程序,每隔几分钟就会出现一次。

它在我看来没有负面影响,我的应用程序像往常一样运行,我没有看到任何问题。

我使用标准的状态栏,没有改变以任何方式修改它。

问题 1:在我尚未遇到的情况下,是否会出现源自此警告的问题?

问题2:有谁知道我怎样才能摆脱这个警告?

0 投票
2 回答
1021 浏览

audiokit - 使用 Swift 4.0.3 编译的 AudioKit 模块无法在 Swift 4.1 中导入

我已经更新到 Xcode 9.3 和 Swift 4.1 并使用 AudioKit 4.1。虽然我在构建时遇到了这个错误。 错误

如何将模块更新到 Swift 4.1?

0 投票
1 回答
3649 浏览

swift - Cast Any to Float 在 swift4.1 中总是失败

在以前的版本中,要从[String: Any]字典中获取浮点值,我可以使用let float = dict["somekey"] as? Float,但在 swift4.1 中,它不起作用。似乎 of 的类型在我得到它之前dict["somekey"]已经被隐式推断,所以从to 转换总是失败。我想知道这是一个新特性还是只是一个错误。DoubleDoubleFloat

——这里是更新。

我重新下载了一个 Xcode9.2 并做了一些实验,现在我想我知道发生了什么。这是测试代码:

在 Swift4 和 Swift4.1 的 Playground 中运行这段代码,结果是不一样的。在 Swift4 中,结果为nil 0.2 0.3 0.4,而在 Swift4.1 中,结果为nil nil nil nil。从结果中,我可以了解到两点: 1. 当我们将 JSON 数据转换为[String : Any] dictionary带有JSONSerialization类的 a 时,数值被保存为NSNumber对象,而不是Int,DoubleFloat。2. 在Swift4中,我们可以使用let float = NSNumberOjbect as? Float来获取一个Float值,但是在Swift4.1中我们不能。但是,我们仍然可以通过这种方式获取IntDouble赋值,无论是在 Swift4 还是 Swift4.1 中。最后,这是一个新功能还是一个错误?如果有人知道,你们可以显示公告链接吗?

0 投票
0 回答
212 浏览

swift4 - Swift Codeable 不工作

我创建了一个模型来将我的 Api 响应映射到使用 Codable 协议的 swift 结构。但它总是返回零。注意: - 如果我从模型中删除 isSelected ,它会完美运行。但我需要这个密钥来管理用户的选择。此外,如果我在类中尝试这种方法,它总是返回 self is immutable 错误。有没有人遇到过这个问题也请帮我将此代码转换为 swift 类

0 投票
1 回答
664 浏览

ios - Swift 4.1 数组协议一致性

我们刚刚切换到 swift 4.1,我们在数组的类型一致性方面遇到了一些困难。这是旧方法:

这在 swift 4.1 中会出现以下错误:

'XDRDecodable' 要求 'Element' 符合 'Decodable'

所以我们尝试将声明更改为:

虽然编译它仍然无法对数组进行编码,并生成以下警告:

警告:Swift 运行时还不支持动态查询条件一致性('Swift.Array': 'stellarsdk.XDREncodable')

我看到这是一项正在进行的工作,但是在正确实现类型一致性之前,是否有人对此有解决方法。我希望它能够像现在在 swift 4.0 中一样工作。