私が理解しているように、UIDocument
クラスはファイルへの保存されていない変更を追跡し、ファイルをロックして複数人でチェックアウトすることさえできません。しかし、ユーザーが強制的に保存せずにアプリケーションを終了するか、アプリがクラッシュするとどうなりますか?保存していない変更をUIDocument
に復旧させるにはどうすればよいですか?アプリが再起動したときに、最新の未保存の変更があるUIDocument
が再び開きます。変更する前に各ファイルの複製を作成し、ユーザーが変更を保存するまで一時複製を変更する必要がありますか?あるいは、Appleはより簡単な実装を提供していますか?また、Data
のファイル内容とUIDocument
のundoManager
のエンコードと保管を定期的にキャッシュとして考慮しました。それは働くだろうか?UIDocument保存されていない変更をアプリケーションでクラッシュ/強制終了する
答えて
UIDocument
およびUIManagedDocument
は、ドキュメントが変更された場合にtrueを返す機能を呼び出すオートマチックチェンジトラッキングを実行し、他のシステム制約を尊重して変更をディスクに保存します。ファイル)。 基本クラスのメソッドをオーバーライドしないと、Appleが保存する方法は非常に安全です。保存操作がトリガされると、Appleは一時ファイルに保存し、保存が正常に行われると元のファイルの名前の変更と削除が完了します(IIRCの名前変更/削除はアトミックまたはアトミックに近い)。保存操作によって、ファイルシステムに破損したファイルがすべてのケースの99.99%を残すことはないと想定できます。
アップルトリガーは、特定のポイント(バックグラウンドに切り替えたアプリ、他のプロセスがファイルにアクセスしようとする前など)でバックグラウンドで操作を保存しますが、何が起こったのか明確なステートメントは見つかりませんでしたアプリケーションが強制終了したとき。
論理と常識によると、アプリケーションを強制終了すると、現在のドキュメントの状態はに保存されません。強制終了のために手動で「クイックセーブ」を実装することは、技術的に実現可能ではないかもしれません。 UIDocumentのような定期的なバックグラウンドセーブ操作が最良の戦略かもしれません。
UNDOマネージャの状態の保存について:これは、UIDocumentを保存する場合と同じ技術的な問題です。アプリケーションを強制終了するように指示するイベントや何もありません。
Apple Documentationをお読みください。非常に長いですが、プロセスをより詳細に説明しています。アップルが課す戦略を実装することが私のアドバイスです。これらの戦略は健全で、アップルのエコシステムの多くのアプリケーションやユーザーのために働きます。さらに、実装コストの削減と自動化の改善(Appleが実装を更新したとき)があります。
- 1. 強制終了アプリケーション
- 2. Google +がインストールされていないとアプリケーションが強制終了する
- 3. Android - アプリケーションを強制終了して再起動したときに設定が保存されない?
- 4. アプリケーションの強制終了
- 5. アプリケーションの強制終了
- 6. アプリケーションを強制終了するとNSUserDefaultデータを保存できません。 Swift
- 7. プロセスを強制終了する前にgmon.outを保存する
- 8. Visual Basic:アプリケーションを強制終了する
- 9. Androidアプリケーションが強制終了して「deadbaad」が表示される
- 10. ラジオボタンが機能しないとアプリケーションが強制終了する
- 11. プロセスを強制終了しないでください
- 12. Androidカーソルでアプリケーションの強制終了
- 13. 終了イベントハンドラを閉じるアプリケーションを強制終了
- 14. プロセスが強制的に強制終了された場合の終了コード
- 15. アプリケーションは強制終了します
- 16. アプリケーションは強制終了しますか?
- 17. アプリケーションがバックグラウンドで強制終了されたときのアプリケーションライフサイクル
- 18. アプリが強制終了されてもWakelockが解放されない
- 19. style = "@ style/Widget.AppCompat.Button.Colored"強制終了アプリケーション
- 20. androidアプリケーションの強制終了on this.startactivity(intent);
- 21. Androidアプリケーションの強制終了エラー
- 22. アプリケーションの強制終了、アプリケーションクラスのonTrimMemoryメソッド
- 23. 強制終了アプリなしでAndroidでデーモンスレッドを終了するにはどうすればいいですか?
- 24. Android:ダウンロード中の接続変更を強制終了する
- 25. リサイクルビットマップアイスクリームサンドイッチ強制終了
- 26. AlertDialog強制終了
- 27. ListView強制終了
- 28. 名前を使ってアプリケーションを強制終了するには?
- 29. SAP MM01終了後保存しないで保存する
- 30. Tabhostで強制終了
あなたの推奨事項を除いて - 保存することを選択するまで、ユーザーが文書の保存されていない変更を保存できるようにするにはどうすればよいですか?コンピュータがシャットダウンした場合と同じように、 –