Я знаю, что этот вопрос задавался много раз, и мы получили эту ссылку в ответ от Apple: http://developer.apple.com/library/ios/#qa/qa1561/
Однако недавно я встречался с этим случаем ниже.Я не вижу никаких других вариантов, кроме непосредственного использования «exit (0)».
У меня есть приложение, которое может собирать цифровые данные с камеры или микрофона моего iPhone.Затем я разработал кнопку с надписью «Сохранить и выйти», потому что это очень распространенный сценарий моего приложения.
Без возможности программного выхода из приложения у меня может быть только глупая кнопка «Сохранить».Затем мои пользователи должны щелкнуть дважды (1. кнопку «Сохранить», а затем 2. кнопку «Домой»), чтобы получить тот же результат - эти два действия последовательно.
Затем я понял,возможно, это недостаток моего дизайна.Поэтому я изменил это следующим образом.
Я удалил кнопку «Сохранить выход» и вместо этого добавил в нижней части заметку «Использовать кнопку HOME для сохранения и выхода».Я попытался поймать сигнал выхода из действий пользователя и затем выполнить СОХРАНЕНИЕ ранее.
Сделав это, пользователь может просто использовать встроенную кнопку HOME, чтобы выполнить команду «СОХРАНИТЬ и ВЫЙТИ».
Однако это решение не идеально.
Если моему приложению требуется слишком много времени для сохранения данных, у iOS все еще есть шанс убить мое приложение после того, как пользователь нажмет кнопку «HOME».Тогда пользователь может потерять свои данные без уведомления!
Если я могу выйти программным способом, я могу сначала попытаться «СОХРАНИТЬ».Если «СОХРАНИТЬ» не удается, у меня есть достаточно времени, чтобы проинформировать своего пользователя или выполнить всю необходимую работу по исправлению.
Считаете ли вы, что это правильное обоснование для использования «выхода (0)» в моем приложении безотвергнуто?