【发布时间】:2015-07-31 18:19:22
【问题描述】:
如果我们再查看结构体UnicodeScalar,我们会看到这个初始化器:
init(_ v: UInt32)
但是你可以毫无问题地做到这一点:
println(UnicodeScalar("a").value)
它打印出来:
97
但如果你尝试这样做:
let a : Character = "a" // With String gave error too
println(UnicodeScalar(a).value)
它给你一个关于 UnicodeScalar 结构的初始化器的错误。
我假设在第一种情况下它会在初始化程序中进行隐式强制转换或其他内容,但为什么不在第二种情况下呢?
如何避免使用声明变量的第二种情况下的错误?
【问题讨论】: