Обратите внимание, что ваш вопрос некорректен. Метод -dealloc UIApplication никогда не вызывается. -dealloc делегата вашего приложения никогда не вызывается. Это означает, что любые объекты, сохраненные делегатом вашего приложения, никогда не будут освобождены, поэтому их dealloc никогда не вызывается.
Вы должны выполнять очистку в applicationWillTerminate вашего приложения-делегата:
Поскольку ваше приложение умирает, вам на самом деле не нужно ничего делать, кроме как вернуть ресурсы, не связанные с памятью, убедитесь, что ваши файлы данных правильно закрыты, и что ваши NSUserDefaults синхронизированы, чтобы вы могли перезапустить правильно при следующем запуске.
Тем не менее, любой объект, который может быть выделен и освобожден многократно в течение срока действия программы, заслуживает правильного метода Oblocation C Oblocal, как описано в Apple, и это хорошая практика, чтобы написать это для всех ваших классов, даже если они не будет вызван, просто чтобы вы выработали хорошие привычки, и читатели не будут смущены. Кроме того, в будущем это избавит от проблем с обслуживанием, когда вы DO создадите и уничтожите несколько таких объектов, например, в своих модульных тестах.