【问题标题】:enumerate is unavailable call the enumerate method on the sequence [duplicate]枚举不可用调用序列上的枚举方法[重复]
【发布时间】:2015-07-05 13:18:42
【问题描述】:

刚刚下载了 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
            }
        }
    }

【问题讨论】:

    标签: swift ios9


    【解决方案1】:

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

    直接在序列上调用它进行枚举,如下所示:

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

    【讨论】:

    • 注意:在 Swift 3 中,.enumerate() 现在是 .enumerated() ...
    猜你喜欢
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 2016-12-30
    • 2012-08-31
    • 1970-01-01
    • 2020-08-30
    • 2016-03-05
    • 2014-06-12
    相关资源
    最近更新 更多