I have a ViewController class as shown below:
class ViewController {
var viewModel = ViewModel()
viewDidLoad() {
self.viewModel.showAlert = { [weak self] in
self?.alert()
}
}
func alert() {
// alert logic
}
}
Here is the ViewModel class
class ViewModel {
var showAlert: (() -> Void)?
}
Now, does this create a strong reference cycle or not?
And if this creates one, then what to use - weak or unowned?