self.appDelegate = [[UIApplication sharedApplication] delegate];
Когда вы создаете переменную с именем appDelegate в ваших IVars, она не просто будет автоматически установлена делегату приложения - вы должны установить ее самостоятельно.Из любого места в вашем приложении вы можете получить доступ к делегату по одноэлементному приложению.
[UIApplication sharedApplication]
<--- дает доступ к одноэлементному методу делегата </p>
, который возвращает указатель на делегата приложения.
Итак, поскольку ваши переменные должны были быть инициализированы, есть два логических места для этого - одно находится в инициализаторе, если вы создаете его, или в методе, который вызывается в начале использованияview и его контроллер, и это место находится в viewDidLoad.