加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift – 为什么在你依赖自己的地方指定[无主自我]?

发布时间:2020-12-14 04:49:07 所属栏目:百科 来源:网络整理
导读:在块执行期间,我希望自己是非零的,我确信它会是非零的.那么为什么要明确指定[无主自我]? object.executeBlock { date = self.lastModified} VS object.executeBlock { [unowned self] in date = self.lastModified} 编辑: 好吧,我正在投票,所以让我们再试
在块执行期间,我希望自己是非零的,我确信它会是非零的.那么为什么要明确指定[无主自我]?

object.executeBlock {
    date = self.lastModified
}

VS

object.executeBlock { [unowned self] in
    date = self.lastModified
}

编辑:
好吧,我正在投票,所以让我们再试一次.问:假设我有问题.那个问题是我想阻止参考周期.我有两个选择.我可以使用[无主的自我]或者我可以使用[弱自我].因此,我的问题是:从这两个选项中,为什么我会选择[无主自我]?为什么不每次选择[弱自我]?

解决方法

“语言指南声称,如果封闭物和包含物体相互引用并且将同时被销毁,则应该使用无主物.据推测,这是为了避免安全地将物体中的弱引用安排为无效的成本. “.

http://www.russbishop.net/swift-capture-lists

所以[无主的自我]使自我成为一个隐含的未包装的选项,为了方便自己不打开它,冒着崩溃的风险,当然它实际上是零.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读