Cod*_*ker 11 closures memory-management ios swift
我试图在 swift 中使用闭包来避免内存泄漏,但 swift 无法识别闭包内的 [weak self]。
// class :
class LanguageClass {
var languageClosure : (() -> ())?
var name : String = ""
init() {
self.languageClosure = { [weak self]
print("\(self.name) is the language")
}
}
deinit {
print("deinitialized")
}
}
// consumption :
var swiftLanguage : LanguageClass? = LanguageClass()
swiftLanguage?.name = "Swift"
swiftLanguage?.languageClosure?()
swiftLanguage = nil
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3433 次 |
最近记录: |