问题标签 [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.
swift - Swift 4.1 更新后 Eureka Forms 损坏
我刚刚更新到 Swift 4.1 并且 Eureka Forms 坏了。我正在尝试自己修复它,但我不确定从哪里开始。有谁知道图书馆作者是否已经解决了这个问题?我没有看到任何关于它的问题。我得到的错误如下:类型'Section'不符合协议'RangeReplaceableCollection'
候选人的类型不匹配'(Section) -> Void' [with SubSequence = Section.SubSequence]
候选人有非匹配类型'S' [with SubSequence = Section.SubSequence]
objective-c - BOOL 与 Swift 4.1 中的 Bool 不兼容
在 Objective-C 类的 Swift 子类中重写时,我收到一条消息:
属性类型'BOOL'(又名'bool')与继承自'ChildClass'的类型'Boolean'(又名'unsigned char')不兼容
我尝试使用其他布尔类型,但它不起作用。
知道如何在 Swift 中正确覆盖 Objc BOOL
Swift 代码(子类):
对象父声明:
出现警告的 Swift 桥接头:
alamofire - 从 Swift 4 更新到 4.1 后的转换问题
在更新到 Swift 4.1 后,我遇到了一个奇怪的问题,从 JSON 到 [[Float]] 的转换失败。让我快速展示代码。
以上在 Swift 4.0 中工作得很好,但突然就失败了。我得到的回应如下。
如果我尝试将其硬转换为 [[Float]],我会得到
“无法将 NSNumber 桥接到 Float”
任何想法如何解决这一问题?它使用 Swift 4.0 运行良好。
ios - 状态栏找不到缓存的时间字符串图像。正在渲染
升级到 Swift4.1 和 Xcode 9.3 后,我收到上述运行时消息。在升级之前,我的控制台窗口中没有此消息。
状态栏找不到缓存的时间字符串图像。正在渲染。
只要我运行应用程序,每隔几分钟就会出现一次。
它在我看来没有负面影响,我的应用程序像往常一样运行,我没有看到任何问题。
我使用标准的状态栏,没有改变以任何方式修改它。
问题 1:在我尚未遇到的情况下,是否会出现源自此警告的问题?
问题2:有谁知道我怎样才能摆脱这个警告?
swift - Cast Any to Float 在 swift4.1 中总是失败
在以前的版本中,要从[String: Any]
字典中获取浮点值,我可以使用let float = dict["somekey"] as? Float
,但在 swift4.1 中,它不起作用。似乎 of 的类型在我得到它之前dict["somekey"]
已经被隐式推断,所以从to 转换总是失败。我想知道这是一个新特性还是只是一个错误。Double
Double
Float
——这里是更新。
我重新下载了一个 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
,Double
或Float
。2. 在Swift4中,我们可以使用let float = NSNumberOjbect as? Float
来获取一个Float
值,但是在Swift4.1中我们不能。但是,我们仍然可以通过这种方式获取Int
或Double
赋值,无论是在 Swift4 还是 Swift4.1 中。最后,这是一个新功能还是一个错误?如果有人知道,你们可以显示公告链接吗?
swift4 - Swift Codeable 不工作
我创建了一个模型来将我的 Api 响应映射到使用 Codable 协议的 swift 结构。但它总是返回零。注意: - 如果我从模型中删除 isSelected ,它会完美运行。但我需要这个密钥来管理用户的选择。此外,如果我在类中尝试这种方法,它总是返回 self is immutable 错误。有没有人遇到过这个问题也请帮我将此代码转换为 swift 类
ios - Swift 4.1 数组协议一致性
我们刚刚切换到 swift 4.1,我们在数组的类型一致性方面遇到了一些困难。这是旧方法:
这在 swift 4.1 中会出现以下错误:
'XDRDecodable' 要求 'Element' 符合 'Decodable'
所以我们尝试将声明更改为:
虽然编译它仍然无法对数组进行编码,并生成以下警告:
警告:Swift 运行时还不支持动态查询条件一致性('Swift.Array': 'stellarsdk.XDREncodable')
我看到这是一项正在进行的工作,但是在正确实现类型一致性之前,是否有人对此有解决方法。我希望它能够像现在在 swift 4.0 中一样工作。