这通常表示您的代码当前未编译.Swift 在计算本身不正确的代码类型时经常遇到困难.在某些情况下,这是编译器中的错误.使用AnyObject
可能会让编译器特别困惑,应该尽可能避免使用.在这种情况下,AnyObject
是必需的,但您应该try 快速将其转换为特定类型.例如,如果你能帮上忙,就不要返回[AnyType]
.
但简单的回答是,Swift编译器仍在不断发展,它不能在复杂的情况下总是计算出类型,尤其是在部分或(当前)错误的代码上.
注意,你用var
来表示很多应该是let
的事情.除非你真的需要修改变量,否则你应该 Select let
.它可以帮助您防止许多类型的错误,并且在编译器上更容易处理(因为变量的更改方式更少).