2015-07-05 18 views
7

Wystarczy pobrać Xcode 7 Beta, i pochodzą z tego błędu wyliczyćenumerate jest niedostępny wywołać metodę enumerate na sekwencji

błędu:

enumerate is unavailable call the enumerate method on the sequence

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

Odpowiedz

13

w Swift 2 enumerate nie jest funkcja globalna, jest to rozszerzenie SequenceType.

nazywają go bezpośrednio na sekwencji wyliczyć tak:

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

Uwaga: w Swift 3, '.enumerate()' '.enumerated jest teraz()' ... – Moritz

Powiązane problemy