Swift 从闭包调用的方法中的self上下文

Swift 从闭包调用的方法中的self上下文,swift,reference,closures,weak,Swift,Reference,Closures,Weak,方法sampleMethod()是从同一类中具有弱引用self(self?.sampleMethod())的闭包调用的。现在在sampleMethod()中使用的self的上下文是什么? 它是弱的self还是强的self?由于方法sampleMethod()调用成功,默认情况下,它将在主体内部使用强的self引用 你可以考虑一下这句话 self?.sampleMethod() 像这样 if let s = self { s.dynamicType.sampleMethod(s)() }

方法
sampleMethod()
是从同一类中具有弱引用self(
self?.sampleMethod()
)的闭包调用的。现在在
sampleMethod()
中使用的self的上下文是什么?
它是弱的self还是强的self?

由于方法
sampleMethod()
调用成功,默认情况下,它将在主体内部使用强的
self
引用

你可以考虑一下这句话

self?.sampleMethod()
像这样

if let s = self {
    s.dynamicType.sampleMethod(s)()
}
您只需将对实例的强引用传递给相关的类方法