2015-09-10 17 views
5

Tôi có đoạn mã này trong Swift:Lỗi: giá trị của loại 'String' không có thành viên 'Generator' trong Swift

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

mà ném các lỗi sau: value of type 'String' has no member 'Generator' in Swift phù hợp: for character in password

Tôi đã cố gắng để tìm thấy trực tuyến các lỗi có thể, nhưng tôi không thể (cộng với tôi mới để Swift và cố gắng điều hướng bản thân mình thông qua các idiosyncrasies của ngôn ngữ).

Bất kỳ trợ giúp sẽ được nhiều đánh giá cao (cộng với một lời giải thích ngắn gọn về những gì tôi đang thiếu nếu có thể)

Trả lời

17

Để cho mã của bạn để làm việc bạn cần phải làm điều này:

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

Vấn đề với mã của bạn không làm việc là một thực tế là nó không được lặp qua mảng của bạn tìm kiếm một ký tự cụ thể. Thay đổi nó thành password.characters buộc i để "tìm kiếm" từng Ký tự của mảng password và voila.Hành vi này xảy ra nhanh chóng 2.0 vì String không còn tuân theo giao thức SequenceType khi đang hoạt động String.CharacterView!

Các vấn đề liên quan