在 iOS swift 范围内找不到“弱”

Cannot find 'weak' in scope iOS swift

提问人:Code cracker 提问时间:6/22/2021 更新时间:11/25/2022 访问量:3191

问:

我试图在 Swift 中使用 clousures 避免内存泄漏,但 Swift 没有识别闭包内的 [弱自我]。

  //  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

closure and class

iOS Swift 内存管理 关闭

评论

25赞 Larme 6/22/2021
[weak self] in,它不见了.in
0赞 Dan Rosenstark 3/26/2023
这不是一个答案——尽管@Larme的评论是——但有时这是因为你不在区块中,因此是不可能的。weak

答: 暂无答案