6

初めてココアに足を浸します。

ここに簡単な質問があります。OS X Lion は、アプリが終了して再起動されたときのウィンドウ状態の再開をサポートしています。大丈夫、大丈夫。

しかし、ドキュメントベースのアプリの場合、ドキュメントを閉じて後で再度開いたときに、アプリを終了せずに、同じ再開機能でウィンドウ状態の保存を管理できますか? (つまり、アプリが終了するかどうかに関係なく、各ファイルの状態を永続的に管理できますか?または、ドキュメントのファイルに情報を保存して自分で管理する必要がありますか?)

たとえば、iWork '09 アプリはこの種のことを行います: 保存した文書を閉じて再度開くと、ウィンドウのサイズ、位置、およびスクローラーの位置が復元されます。Lion の Resume 自体を使用してこれを行うかどうかはわかりません。

しかし対照的に、OS X Lion の TextEdit は、終了して再起動するとウィンドウを復元しますが、ドキュメントを閉じて再度開いたときのウィンドウの状態は記憶していません。これは、終了せずに Resume を自動的に使用できない可能性があるのではないかと疑っています (Pages はウィンドウの状態を独自のファイル形式で保持している可能性がありますが、TextEdit はプレーンテキスト、RTF、HTML などのファイルを使用しているためそうではありません)。


私はまだ WWDC 2011 のビデオにアクセスできません。また、OS X のリリース ノート、OS X アプリケーション プログラミング ガイド、NSWindowRestoration API ドキュメントのいずれも、これについて具体的に説明していません。

もう一度質問します。ドキュメント ウィンドウを閉じて再度開いた後、アプリを終了せずに(iWork のように) その状態を自動的に記憶する... Lion の Restore はこれをサポートしていますか?

どうもありがとう!

4

1 に答える 1

2

しかし、ドキュメントベースのアプリの場合、同じ再開機能で、ドキュメントを閉じて後で再度開いたときに、アプリを終了せずにウィンドウの状態を保存することもできますか?(つまり、アプリが終了するかどうかに関係なく、各ファイルの状態を永続的に管理できますか?

支援なしではありません。

または、ドキュメントのファイルに情報を保存して自分で管理する必要がありますか?)

またはどこか他の場所で、はい。

私のテストされていない提案は、ウィンドウ復元プロトコルを自分で使用してみることです。終了するときは、自分自身を送信してencodeRestorableStateWithCoder:から、そのデータをドキュメント(または必要な場所)に隠しておきます。ドキュメントを開くときに、復元可能な状態情報がある場合は、に渡しrestoreStateWithCoder:ます。

于 2011-09-29T15:00:50.663 に答える