我最初的方法。一切正常。:
func fetchInitialItems(num: Int){
firebaseRef?.observeSingleEventOfType(.Value, withBlock: { [weak self] snapshot in
if self != nil {
//perform calculations
}
})
}
我想将闭包移动到它自己的另一个方法:
func fetchBlock(snapshot: FDataSnapshot!){
//perform calculations
}
func fetchInitialItems(num: Int){
firebaseRef?.observeSingleEventOfType(.Value, withBlock: withBlock: self.fetchBlock)
}
这是正确的方法吗?如何制作第二个解决方案[weak self]
?我看不出有什么办法可以做到这一点。
最佳答案
这个怎么样:
firebaseRef?.observeSingleEventOfType(.Value, withBlock: { [weak self] snapshot in
self?.initialFetchBlock(snapshot)
})
我不确定我们是否可以在闭包之外使用捕获列表。
关于ios - 在我的 ViewController 中,如何将函数作为参数传递并保留 [weak self]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36762370/