【问题标题】:Swift 3 extension with a floating point array带有浮点数组的 Swift 3 扩展
【发布时间】:2016-09-14 10:24:17
【问题描述】:

我正在尝试在 Swift 3 中扩展 Array<Float>。目标是添加一个函数并在正文中调用一些 self.append() 语句。到目前为止,这是我所拥有的:

extension Array where Element: FloatingPoint {

    mutating func test(a: Float) {
        self.append(a)
    }

}

我收到一个错误,指出 append() 需要 FloatingPoint,并且它不能使用 Float。但是Float 类型不符合FloatingPoint 吗?顺便说一句,在 Swift 2.X 中,我扩展了 _ArrayType,效果很好。它似乎在 Swift 3 中消失了,append() 函数现在在 Array 中。

【问题讨论】:

    标签: arrays swift swift3


    【解决方案1】:

    你只能将元素附加到Element类型的数组中:

    extension Array where Element: FloatingPoint {
    
        mutating func test(a: Element) {
            self.append(a)
        }
    
    }
    

    注意:此扩展扩展了所有浮点数组:[Double][CGFloat]、...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多