ios - 在 iOS swift 范围内找不到“弱”
问题描述
我试图在 swift 中使用 clousures 来避免内存泄漏,但 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
解决方案
推荐阅读
- postgresql - postgres typeorm 返回直到列的总和大于条件
- swift - 将变量从函数传递到视图
- swift - 如何使用 MVC 正确清理我的代码?
- c - C函数错误:中止函数还是简单地退出程序更好?
- r - 用多列重塑数据
- rest - 通过 REST API 检测任务何时完成
- angular - ngx-translate fails to resolve translations when running Jasmine/Karma tests
- python - 如何让我的不和谐机器人每隔几秒发送一次消息?(discord.py)
- c++ - 结构化模板参数
- synchronization - 尝试列出给定 servicePrincipals ID 的现有同步作业时出现 UnknownError