gpt4 book ai didi

ios - 获取 "Type ' Float' 不符合协议(protocol) 'ForwardIndex' “Xcode Beta 4 中的范围错误

转载 作者:行者123 更新时间:2023-11-29 02:47:32 25 4
gpt4 key购买 nike

当我更新到 Xcode Beta 4 时,我在创建范围时开始在我的项目中遇到奇怪的错误(例如 Range<Float> )。它说Type 'Float' does not conform to protocol 'ForwardIndex' .如果有人能告诉我我做错了什么,那就太好了。

谢谢!

编辑:

它不依赖于我的项目。我打开了一个空白的 Playground ,我得到了同样的错误。 enter image description here

最佳答案

的确,Float 不符合ForwardIndex。所有 UInt*Int* 类型都可以。不幸的是,目前似乎无法在范围内使用非 ForwardIndex 类型。如果您认为这是错误的,file a bug .


危险地带

您可以通过实现 successor()Float 勉强实现 ForwardIndex:

extension Float : ForwardIndex {
// a method of the private _Incrementable protocol
public func successor() -> Float { return self + 1 }
}
let f = Range<Float>(start: 3, end: 4) // "Range(3.0,4.0)"

但是一旦您尝试以某些方式使用它,它就会中断:

switch x {
case f: // 'Range<Float>' is not convertible to '_OptionalNilComparisonType'
println("f")
// ...

您也许可以通过某种方式解决这个问题,但这可能不值得。如果您尝试比较 float ,舍入误差无论如何都会把您搞得一团糟!

关于ios - 获取 "Type ' Float' 不符合协议(protocol) 'ForwardIndex' “Xcode Beta 4 中的范围错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24917259/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com