I rarely see people using [weak self]
in didSet
. Is there a reason for this?
I tried to use [weak self]
in my didSet
of a variable:
var data: Dictionary<String, Any>! { // [1]
didSet { [2]
self?.layoutSubviews()
}
}
Either I put [weak self] in
at [1] or [2], I still get the error: Use of unresolved identifier weak
Why is that? Is it illegal to use [weak self]
for a didSet
?
Regards,
didSet
is not a closure, you cannot use a closure syntax for it.
There is no reason to use weak self
there. a didSet
handler won't create ownership cycles in the same way a method doesn't create them.
Don't do that.
It's nonsensical to use [weak self]
because didSet
does not capture anything and will never create retain cycles.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.