Если вы сохраняете делегата через свойство obj-c 2.0, попробуйте изменить модель, чтобы полагаться на retain
вместо assign
.Это гарантирует, что делегат не будет выпущен из-под вас в таких ситуациях.Если вы идете по этому маршруту, важно убедиться, что у вас нет «удерживающего круга», в котором два объекта сохраняют друг друга и никогда не освобождаются.
@property (nonatomic, retain) id delegate;
Для создания фона вам следует разработать системув ней хранится информация, необходимая для восстановления состояния вашего приложения, затем очищается все эти элементы из памяти при выходе (в - (void)applicationDidEnterBackground:(UIApplication *)application
) и восстанавливается при повторном запуске.Это предотвратит частую «очистку» вашего приложения, увеличивая вероятность того, что вы сможете восстановить при повторном запуске (в - (void)applicationWillEnterForeground:(UIApplication *)application
), вместо того, чтобы ваше приложение каждый раз перезапускалось с квадрата 1.