在Apple的Swift标准文档中:
func printInfo(_ value: Any) {
let type = type(of: value)
print("'\(value)' of type '\(type)'")
}
Run Code Online (Sandbox Code Playgroud)
并给出错误:变量在其自己的初始值内使用
如何使用Swift 4.1修复此问题?
这是一个文档错误。该功能曾经是typeOf
. 最近的版本(不记得是哪一个)将其重命名为type
. type
编译器对局部变量和type
Swift 标准库中的函数感到困惑。
为局部变量使用不同的名称:
func printInfo(_ value: Any) {
let t = type(of: value)
print("'\(value)' of type '\(t)'")
}
Run Code Online (Sandbox Code Playgroud)
或者明确引用该函数:
func printInfo(_ value: Any) {
let type = Swift.type(of: value)
print("'\(value)' of type '\(type)'")
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1170 次 |
最近记录: |