Swift闭包返回类型错误

时间:2015-03-25 12:34:20

标签: xcode swift closures

我已获得以下代码:

weak var weakSelf: foo? = self

NSNotificationCenter.defaultCenter().addObserverForName(NSApplicationWillTerminateNotification, object: nil, queue: nil, usingBlock: { (notification: NSNotification!) -> () in
        weakSelf?.invalidate()
    })

func invalidate(){}

我不断收到以下错误:无法转换表达式的类型'(@ lvalue NSString !, object:NilLiteralConvertible,queue:NilLiteralConvertible,(NSNotification!) - >()) '输入'()'

我理解错误的含义,但我不明白为什么当 invalidate 函数的返回类型为nil时我收到错误,因此它就是块&# 39; S。另外我应该如何纠正它。如果我尝试println("message"),那么错误会消失,所以我不允许在闭包中调用方法吗?

0 个答案:

没有答案