嘿,我有个问题,我好像搞不懂
我有封闭型
public typealias VoidCompletionHandler = ()->Void然后创建一个可选变量。
var favouritePropertyStateHandler:VoidCompletionHandler?然后我称之为
self.favouriteCellStateHandler?()一切都很好
self.propertyModel?.favouritePropertyStateHandler = { self.favouriteStateChanged() }完全符合功能类型
func favouriteStateChanged()->Void但为什么我不能
self.propertyModel?.favouritePropertyStateHandler = self.favouriteStateChanged()类型匹配-两者都是?
()->Void 我得到的错误是
Cannot assign a value of type 'Void' ('aka '()') to a value of type 'VoidCopletionHanlder?'解决了
self.propertyModel?.favouritePropertyStateHandler = self.favouriteStateChanged然而这又造成了另一个问题,我怎么不会造成永恒的保留周期呢?如果我想让自己变得软弱?
发布于 2015-09-08 15:50:14
您正在分配来自self.favouriteStateChanged()的结果,而不是函数本身。试一试
self.propertyModel?.favouritePropertyStateHandler = self.favouriteStateChanged而不是。
https://stackoverflow.com/questions/32462064
复制相似问题