enumerate不可用调用序列上的enumerate方法

时间:2015-07-05 13:18:43

标签: swift ios9

刚刚下载了Xcode 7 Beta,并在枚举

时出现此错误

错误:

  

枚举不可用调用序列

上的枚举方法
 func layoutSpecialKeysRow(row: [Key], keyWidth: CGFloat, gapWidth: CGFloat, leftSideRatio: CGFloat, rightSideRatio: CGFloat, micButtonRatio: CGFloat, isLandscape: Bool, frame: CGRect) -> [CGRect] {
    var frames = [CGRect]()

    var keysBeforeSpace = 0
    var keysAfterSpace = 0
    var reachedSpace = false
    for _k, key) in enumerate(row) {
        if key.type == Key.KeyType.Space {
            reachedSpace = true
        }
        else {
            if !reachedSpace {
                keysBeforeSpace += 1
            }
            else {
                keysAfterSpace += 1
            }
        }
    }

1 个答案:

答案 0 :(得分:13)

在Swift 2中,enumerate不再是全局函数,它是SequenceType的扩展。

直接在序列上调用它来枚举如下:

for (index, key) in row.enumerate() {
    // ...
}