我很少看到有人在[weak self]中使用didSet。是否有一个原因?

我试图在变量的[weak self]中使用didSet:

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

我将[weak self] in放在[1]或[2]上,我仍然收到错误:Use of unresolved identifier weak
这是为什么?将[weak self]用作didSet是否非法?

问候,

最佳答案

didSet不是闭包,您不能对其使用闭包语法。

没有理由在那里使用weak selfdidSet处理程序不会像没有方法创建所有权周期那样创建所有权周期。

关于swift - Swift-DidSet中的弱自我,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43693703/

10-11 19:46