我想从Swift 3中的ASCII代码中获取字母。我会在Java中这样做:
for(int i = 65 ; i < 75 ; i++)
{
System.out.print((char)i);
}
这将记录从A到J的字母。
现在我在Swift中尝试了这个:
let s = String(describing: UnicodeScalar(i))
而不只是收到这封信,我得到了这个:
Optional("A")
Optional("B")
Optional("C")
...
我做错了什么?谢谢你的帮助。
答案 0 :(得分:7)
UnicodeScalar
有几个可用于整数类型的初始化程序,它们可以表示不是有效Unicode代码点的值。因此,您需要解包返回的get
,因为在您传递无效代码点的情况下,初始化工具将返回UnicodeScalar?
。
但是,鉴于您只处理ASCII字符,您可以简单地将nil
注释为i
并利用UInt8
具有non-failable initialiser for a UInt8
input的事实(因为它总是代表一个有效的代码点):
UnicodeScalar