Допустим, у меня есть контроллер представления, и в его viewDidLoad
я вызываю эту функцию:
func callDataSource()
{
let dataSource = DataSource()
dataSource.callUber {
print("In viewDidLoad")
}
return
}
и этот DataSource
класс
class DataSource {
func callUber(withSuccess success: @escaping (() -> Void))
{
let uberManager = UberDataFetcher()
uberManager.getPrice {
print("In Data Source")
success()
}
return
}
}
А этот UberDataFetcher
- это просто класс, который вызывает Uber API. Мой вопрос: я определил объект DataSource
в рамках функции callDataSource
; это означает, что объект освобождается после возврата этой функции. Как блок завершения переживает экземпляр, который его создал?