特集:builder的Lionのみどころ--開発環境:API周りの変更点(前編)

小池邦人 (有限会社オッティモ)
2011-08-01 20:37:00
  • このエントリーをはてなブックマークに追加

オートセーブとバージョン管理

 ドキュメントのオートセーブやバージョン管理も、NSDocumentのサブクラスを用いたドキュメントベース・アプリケーションであれば実装は簡単である。特別な処理を考えなければ、開発者の行うことは、NSDocumenのサブクラスで以下のクラスメソッドを追加するだけである。

  • + (BOOL)autosavesInPlace { return YES; }

 これで、アプリケーションの終了時、ドキュメントウィンドウのクローズ時、アプリケーションの切り替え時などでオートセーブとバージョン管理が成される。またファイルメニューや、ウインドウタイトルをクリックして表示されるポップアップメニューからバージョン操作に関わる機能が利用できる。

 例えばバージョンズ・ブラウザ(Versions Browser)を表示すれば、Mac OS Xのバックアップシステム「Time Machine」と同等の操作が可能となり、各バージョンの閲覧や旧バージョンとの差し替えなどが可能となる。

ウィンドウタイトルをクリックすることでバージョン機能にアクセスできる※クリックで拡大画像を表示 ウィンドウタイトルをクリックすることでバージョン機能にアクセスできる※クリックで拡大画像を表示
バージョンブラウザはTime Machineと同等なインターフェースを提供する※クリックで拡大画像を表示 バージョンブラウザはTime Machineと同等なインターフェースを提供する※クリックで拡大画像を表示

 タイマーなどを使い定期的にオートセーブを実行することも可能である。この場合、内容に変更がなければ保存しないことや、頻繁に割り込みが入るので、ユーザーの編集作業を止めないために処理を別スレッドでバックグランドに回すことなどが推奨される。また、NSFilePresenterクラスとNSFileCoordinatorプロトコルで別プロセスからのファイル編集を制限し、最新バージョン管理にはNSFileVersionクラスを使う必要もある。

 こうして見てくると、サンドボックス、オートセーブ、バージョン管理は、すべてiCloudの仕組みを実現するために必要不可欠な仕組みであり、これらがちゃんと整備されて始めてiCloudを世に出せるようになったことが理解できる。まさに「クラウドは一日にして成らず」と言ったところだろうか……。

著者プロフィール

小池邦人(有限会社オッティモ)

1960年生まれ。有限会社オッティモ 代表取締役プログラマー。Apple社とはApple II ユーザーとして1980年以来のおつき合いです。ソフトを購入するお金がなかったので欲しいソフトを自作していたら、知らぬ間に職業プログラマーになっていました。
筆者はソフト開発者をサポートするNPO法人「MOSA」の会長をしています。MOSAでは会員専用のBBSも用意し、そこでMac OS XやiOSに関する情報交換をしています。もしMOSAの活動にご興味があるようなら、以下のサイトを覗いてみてください。
MOSA: http://www.mosa.gr.jp/
9月1日には、MOSA主催のセミナー「Lionで変身を遂げた!Xcode 4入門セミナー」も開催致します。ご興味ある方のご参加をお待ちしております。
Lionで変身を遂げた!Xcode 4入門セミナー

Keep up with ZDNet Japan
ZDNet JapanはFacebookページTwitterRSSNewsletter(メールマガジン)でも情報を配信しています。現在閲覧中の記事は、画面下部の「Meebo Bar」を通じてソーシャルメディアで共有できます。東日本大震災の情報は、特設サイト「ZDNet Japan after 3.11」にまとめています。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]