How to convert an Int to a Character in Swift

J-Dizzle picture J-Dizzle · Dec 14, 2015 · Viewed 19.2k times · Source

I've struggled and failed for over ten minutes here and I give in. I need to convert an Int to a Character in Swift and cannot solve it.

Question

How do you convert (cast) an Int (integer) to a Character (char) in Swift?

Illustrative Problem/Task Challenge

Generate a for loop which prints the letters 'A' through 'Z', e.g. something like this:

    for(var i:Int=0;i<26;i++) {      //Important to note - I know 
        print(Character('A' + i));   //this is horrendous syntax...
    }                                //just trying to illustrate! :)

Answer

Nate Cook picture Nate Cook · Dec 14, 2015

You can't convert an integer directly to a Character instance, but you can go from integer to UnicodeScalar to Character and back again:

let startingValue = Int(("A" as UnicodeScalar).value) // 65
for i in 0 ..< 26 {
    print(Character(UnicodeScalar(i + startingValue)))
}