2015-09-10 13 views
5

mam ten kawałek kodu w SWIFT:Błąd: wartość typu 'string' ma członkowskim 'Generator' w Swift

var password = "Meet me in St. Louis" 
for character in password { 
    if character == "e" { 
     print("found an e!") 
    } else { 
    } 
} 

który rzuca się następujący błąd: value of type 'String' has no member 'Generator' in Swift w linii: for character in password

Próbowałem znaleźć w Internecie ewentualny błąd, ale nie mogę (plus jestem nowy w Swift i próbuję poruszać się po dziwactwach tego języka).

Każda pomoc będzie mile widziane (plus krótkie wyjaśnienie co mi brakuje, jeśli to możliwe)

Odpowiedz

17

W celu wprowadzenia kodu do pracy trzeba to zrobić:

var password = "Meet me in St. Louis" 
for character in password.characters { 
    if character == "e" { 
     print("found an e!") 
    } else { 
    } 
} 

Problem z Twój kod nie działał, to fakt, że nie chodziło o iterację po twojej tablicy w poszukiwaniu konkretnej postaci. Zmiana tego na password.characters wymusza i, aby "wyszukać" każdy znak tablicy password i voila.To zachowanie dzieje się w swift 2.0, ponieważ String nie jest już zgodny z protokołem SequenceType, podczas gdy String.CharacterView ma!

Powiązane problemy