【发布时间】:2016-10-20 20:16:27
【问题描述】:
在以前版本的 swift 中,以下代码有效。
let letterString = String( UnicodeScalar( 97 ) )
print( letterString )
返回“a”
升级到 swift 3 后,它建议我更改为
let letterString = String( describing: UnicodeScalar( 97 ) )
print( letterString )
返回可选的(“a”)
好的,所以我尝试添加 !运算符解包,但它不起作用。
let letterString = String( describing: UnicodeScalar( 97 ) )
print( letterString! )
给出错误:无法强制解开非可选类型“字符串”的值
谁能告诉我这里发生了什么?如何从 Swift 3 中的 ascii 值中获取未包装的字符串值?
【问题讨论】:
-
我实际上认为这是一个错误——我看不出为什么编译器不能将整数文字推断为
UInt8(this example gist 编译得很好)。请随时在bugs.swift.org 提交错误。 -
我继续提交了一个错误仅供参考:bugs.swift.org/browse/SR-3010