方法sampleMethod()
在同一个类中从一个带有self (self?.sampleMethod()
)弱引用的闭包调用。现在在sampleMethod()
中使用的自我上下文是什么?它会是一个软弱的自我还是一个坚强的自我?
由于sampleMethod()
方法被成功调用,默认情况下,它将在其主体内使用强self
引用。
你可以考虑这一行
self?.sampleMethod()
这样的if let s = self {
s.dynamicType.sampleMethod(s)()
}
在这里你只是将实例的强引用传递给相关的类方法