Hello
For me more good use nested function instead of closure. How in this case right way to define capture list?
//With Closure
class Sender {
var color = "Orange"
var writer = Receiver \(\)
func something\(\) \{
writer \. callback = \{ \[weak self \] newColor in
guard let strongSelf = self else \{ return \}
strongSelf\. color = newColor
\}
\}
}
class Receiver {
var callback: (( String ) -> Void )?
func somework\(\) \{
var color = "green"
guard let cb = callback else \{ return \}
cb\(color\)
\}
}
//Alternatively with Nested Function
class ASender {
var color = "Orange"
var writer = Receiver \(\)
func something\(\) \{
writer \. callback = change
\}
func change\(name: String \) \{
weak var n = self // is right or not?
guard let strongSelf = n else \{ return \}
strongSelf\. color = name
\}
}
ยทยทยท
--
Alex Sedykh