首页 > 解决方案 > 在 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

关闭和上课

标签: iosswiftmemory-managementclosures

解决方案


推荐阅读