错误:变量在其自己的初始值中使用,类型为(of :)函数

时间:2018-05-03 03:14:20

标签: swift swift4.1

Apple的Swift标准document

func printInfo(_ value: Any) {
   let type = type(of: value)
   print("'\(value)' of type '\(type)'")
}

并且它给出了错误:在其自己的初始值中使用的变量

enter image description here

如何使用Swift 4.1修复此问题?

1 个答案:

答案 0 :(得分:2)

这是文档错误。该函数曾是self。最新版本(不记得是哪一个)将其重命名为typeOf。编译器在type局部变量和type Swift标准库中的函数之间感到困惑。

为您的本地变量使用其他名称:

type

或明确参考函数:

func printInfo(_ value: Any) {
   let t = type(of: value)
   print("'\(value)' of type '\(t)'")
}