Iterate through a String Swift 2.0

后端 未结 4 1421
滥情空心
滥情空心 2020-11-30 08:21

I am trying to do a very simple piece of code in Swift playgrounds.

var word = \"Zebra\"

for i in word {
  print(i)
}

However, I always ge

4条回答
  •  余生分开走
    2020-11-30 09:14

    As of Swift 2, String doesn't conform to SequenceType. However, you can use the characters property on String. characters returns a String.CharacterView which conforms to SequenceType and so can be iterated through with a for loop:

    let word = "Zebra"
    
    for i in word.characters {
        print(i)
    }
    

    Alternatively, you could add an extension to String to make it conform to SequenceType:

    extension String: SequenceType {}
    
    // Now you can use String in for loop again.
    for i in "Zebra" {
        print(i)
    }
    

    Although, I'm sure Apple had a reason for removing String's conformance to SequenceType and so the first option seems like the better choice. It's interesting to explore what's possible though.

提交回复
热议问题