Я устал от использования захвата [weak self]
в замыканиях, поэтому я хотел бы передать self и вернуть его в замыкании следующим образом:
alertManager.askToConfirm(from: self) { vc, confirmed in
if confirmed {
vc.model.confirm()
} else {
vc.model.reject()
}
}
внутри AlertManager
мой код будеткак это:
func askToConfirm<T>(from vc: T, completion: @escaping (T) -> ()) {
let invitation = pageItemFactory.createConfirmationPageItem() { [weak self] accepted in
self?.dismissAlert()
completion(vc, accepted)
}
present(invitation)
}
Будет ли это создавать цикл сохранения?