How to convert an Int to a Character in Swift
How to convert an Int to a Character in Swift
For the sake of future visitors, I am providing a basic answer to the question title rather than the details of the question itself.
It is a two step process. Convert the Int
to a UnicodeScalar
and then convert the UnicodeScalar
to a Character
.
let myInteger: Int = 97
// convert Int to a valid UnicodeScalar
guard let myUnicodeScalar = UnicodeScalar(myInteger) else {
return
}
// convert UnicodeScalar to Character
let myCharacter = Character(myUnicodeScalar)
// results
print(myCharacter) // a
(source)
Or alternatively...
if let myUnicodeScalar = UnicodeScalar(97)
let myCharacter = Character(myUnicodeScalar)
}
See also
- How to express Strings in Swift using Unicode hexadecimal values (UTF-16)
- Working with Unicode code points in Swift
try this
for i in 0...25
{
let string = String(format: "%c", i+65) as String
NSLog("%@", string)
}
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)))
}