我做的強孰弱舞蹈SWIFT是這樣的:斯威夫特後衛自
dispatch_async(dispatch_get_global_queue(QOS_CLASS_DEFAULT, 0), { [weak self] in
guard let `self` = self else {
return
}
self.doSomething(1)
})
在此之前,我用的是strongSelf
,而不是`self`。在一個網站上我已經看到我可以使用這個字符。
但是這個角色在Swift中做了什麼?沒有這個我不能分配給自己。爲什麼這個工作?使用它是一個好習慣嗎?
相關:http://stackoverflow.com/questions/31315358/use-reserved-keyword-a-enum-case。 –
在未來版本的Swift中有一個建議允許'guard let self = self else {return}':https://github.com/apple/swift-evolution/blob/master/proposals/0079-upgrade-self -from-weak-to-strong.md,而且你的代碼工作被認爲是Swift編譯器中的一個錯誤:https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20160118/007425 html的。 –