Метод делегата возвращает идентификатор (неклассифицированный объект), поэтому компилятор не имеет информации о возвращенном объекте и, в частности, не знает, есть ли у него метод iPad.Это нормально, но оставляет неопределенные вещи (динамическая типизация).Явно возвращая возвращаемый объект в класс AppDelegate, вы сообщаете компилятору, что вы знаете, что возвращенный объект делегата является экземпляром AppDelegate.Это позволяет компилятору проверить, что у вашего класса AppDelegate есть метод iPad (статическая типизация).Это хорошо, потому что теперь компилятор может выполнять более точную проверку ошибок.Однако компилятор просто верит вашему исполнению, так что не врите!Если вы лжете и отправляете сообщение iPad
объекту, у которого нет метода iPad, ваше приложение может аварийно завершить работу во время выполнения.