Swift:如何将AnyObject设置为nil或等效

Dan*_*e B 3 swift

我有一个非常通用的函数需要返回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)