我知道这个问题已经被问过很多次了,我们已经从苹果那里得到了这个链接作为答案:http: //developer.apple.com/library/ios/#qa/qa1561/
然而,最近,我在下面遇到了这个案例。除了直接使用“exit(0)”之外,我没有看到任何其他选项。
我有一个应用程序可以从我的 iPhone 的相机或麦克风收集数字数据。然后我设计了一个按钮,上面写着“保存并退出”,因为这是我的应用程序的一个非常常见的场景。
如果无法以编程方式退出我的应用程序,我只能有一个愚蠢的“保存”按钮。然后我的用户必须单击两次(1.“保存”按钮,然后 2.“主页”按钮)才能获得相同的结果 - 也就是这两个动作按顺序排列在一起。
然后我意识到,也许,这是我设计的一个缺陷。因此,我以这种方式更改了它。
我删除了“保存退出”按钮,而是在底部添加了一条注释,上面写着“使用 HOME 按钮保存并退出”。我试图从用户的动作中捕捉到退出信号,然后在之前执行 SAVE。
通过这样做,用户可以简单地使用本机 HOME 按钮来执行“保存和退出”。
然而,这个解决方案并不完美。
如果我的应用程序保存数据的时间过长,iOS 仍有机会在用户点击“HOME”按钮后终止我的应用程序。然后用户可能会丢失他们的数据,恕不另行通知!
如果我可以以编程方式退出,我可以先尝试“保存”。如果“保存”失败,我有足够的时间通知我的用户或完成所有需要的补救工作。
您认为这是在我的应用程序中使用“exit(0)”而不被拒绝的有效理由吗?