微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

斯威夫特 – 在didSet中弱自我

我很少看到人们在didSet中使用[弱自我].是否有一个原因?

我尝试在变量的didSet中使用[弱自我]:

var data: Dictionary<String,Any>! { // [1]
        didSet { [2]
            self?.layoutSubviews()
        }
    }

要么[弱自我]在[1]或[2],我仍然得到错误:使用未解决的标识符弱

这是为什么?对于didSet使用[弱自我]是非法的吗?

问候,

解决方法

didSet不是闭包,你不能使用闭包语法.

没有理由在那里使用弱自我. didSet处理程序不会以与方法不创建所有权周期相同的方式创建所有权周期.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐