我已获得以下代码:
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")
,那么错误会消失,所以我不允许在闭包中调用方法吗?