我们是否需要担心从闭包中调用的弱内部方法

时间:2016-12-07 19:41:29

标签: swift

琐碎但寻找确认我正确理解:

如果我们有一个简单的闭包:

let closure = { [weak self] in 
    self?.doSomething()
}

我们是否需要担心方法本身内的弱/强自我?

func doSomething() {
    self.classString = "some new string" 
    // the self in this case will come from the weak self in the closure?
}

我理解的内容即使从闭包中调用也是不必要的:

func doSomething() {
    weak var weakSelf = self
    weakSelf.classString = "some new string" 
}

1 个答案:

答案 0 :(得分:2)

不,我们不必担心,因为方法没有捕获任何东西。