美文网首页
Swift weak和unowned

Swift weak和unowned

作者: 小笨憨 | 来源:发表于2017-07-31 10:07 被阅读0次

    弱引用和无主引用

    在闭包和捕获的实例总是互相引用并且总是同时释放时,将闭包内的捕获定义为无主引用。

    相反,在被捕获的引用可能变为 nil 时,定义一个弱引用的捕获。弱引用总是可选项,当实例的引用释放时会自动变为 nil。这使我们可以在闭包体内检查它们是否存在。

    注意:

    如果被捕获的引用永远不会变为 nil,应该用无主引用而不是弱引用。

    var first = 1
    self.number = 2
    self.testBlock  = { [first,unowned self] _ in
        print(first,self.number)
    }
    first = 4
    self.number = 4
    self.testBlock()
    print(self.number,first)            
    

    相关文章

      网友评论

          本文标题:Swift weak和unowned

          本文链接:https://www.haomeiwen.com/subject/tupllxtx.html