enumerate недоступен, вызовите метод enumerate для последовательности

Только что загрузил бета-версию Xcode 7 и обнаружил эту ошибку при перечислении

ошибка:

enumerate недоступен, вызовите метод enumerate для последовательности

 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
            }
        }
    }

person MarinaIOS    schedule 05.07.2015    source источник


Ответы (1)


В Swift 2 enumerate больше не является глобальной функцией, это расширение SequenceType.

Вызовите его непосредственно в последовательности для перечисления следующим образом:

for (index, key) in row.enumerate() {
    // ...
}
person Eric Aya    schedule 05.07.2015
comment
Примечание: в Swift 3 .enumerate() теперь .enumerated()... - person Eric Aya; 14.06.2016