我有一个非常通用的函数需要返回AnyObject:
func backgroundFunction(dm : DataManager) -> AnyObject {
...
}
Run Code Online (Sandbox Code Playgroud)
但是在某些情况下我想返回一个空/ null值
我想到了这两个值:
nil但似乎不允许:类型'AnyObject'不符合协议'NilLiteralConvertible'
0但是,当我测试AnyObject值是否为0时,value != 0我得到了这个错误:二进制运算符'!='不能应用于'AnyObject'和'nil'类型的操作数
有什么解决方案吗?
Arb*_*tur 12
只有可选值可以设置为nil或检查为nil.所以你必须使你的返回类型成为可选.
func backgroundFunction(dm : DataManager) -> AnyObject? {
...
return nil
}
Run Code Online (Sandbox Code Playgroud)