У меня есть 2 UIViewControllers в UITabBar, и я хотел бы создать фасад для одного из моих UIViewControllers, и при попытке сделать это у меня возникают проблемы:
//within the 2nd view controller, that has not been displayed yet:
-(void)startApp
{
locationManager.delegate = self;
[locationManager startUpdatingLocation];
}
Я пытаюсь
//within the first view controller:
[delegate startApp]
Что означает «self» в приведенном выше примере? Если я установил точку останова, я вижу, что вызывается обратный вызов в контроллере второго представления, но он не дает того же эффекта, что и при Я вызываю его непосредственно из контроллера второго вида.
ViewDidLoad внутри 2-го контроллера представления не вызывается до тех пор, пока я не коснусь этого контроллера, но, тем не менее, даже если я сделаю это, а затем вызову метод startApp, результат все равно будет неожиданным.
Вполне возможно, что я сломал модель MVC с моей установкой, и мне придется извлечь куски кода и создать базовую модель, которую будут использовать оба контроллера, но я надеялся на быстрое и грязное решение.
Спасибо за любые разъяснения!