ライオンで一流の市民にしたい靴箱スタイルのアプリケーションがあります。これは、とりわけ自動保存とバージョンを統合することを意味します。現在、ドキュメント中心のモデルはなく、単純な Core Data スタックを使用しています。
UIPersistentDocument は、自動保存とバージョンの両方を統合するための非常に簡単な方法を提供します。新しい API と統合するために選択できるオプションが 2 つあります。
- シューボックス スタイルのアプリケーションの NSPersistentDocument を「悪用」します。技術的にはドキュメントベースのアプリケーションになりますが、ユーザー インターフェイスは同じ iPhoto ライクなライブラリです。これは概念的にはあまり意味がありませんが、無料で多くの機能を利用できます。
- 現在のプレーンなコア データ スタックを保持し、自動保存とバージョンを手動で実装します。
Apple の担当者から、私たちが取るべきアプローチについて相反する意見を聞いたので、実装を開始する前に明確にしておきたいと思います。1. は使用すべきではないと思いますが、非常に魅力的でもあります。Core Data アプリケーションで自動保存とバージョンを手動で実装するための十分なドキュメントを見つけることさえできませんでした。
私は本当に 1. を使用する傾向がありますが、いくつかの問題があります。
- バージョンと 1 つのデータベース ファイルのみを使用する場合、ファイル システム レベルの競合が心配です。このトピックに関するドキュメントは見つかりませんでした。
- 「スペース」をブラウズするときのバージョンのパフォーマンスの問題が心配です。
- バージョンは複数のインスタンスを開く必要があるため、開いているデータベースのインスタンスを 1 つだけ強制することはできません。副作用と並行性の問題が心配です。概念的にはハックのように見えますが、私はハックが好きではありません。
iCloud 同期を統合したいだけなら、Core Data が直接サポートしているため、アプリケーションにドキュメント中心のモデルを使用することは絶対に考えません。現在の非ドキュメント ベースのパラダイムに固執した場合に発生する開発者のオーバーヘッドについて、私は主に心配しています。
シューボックス アプリケーションを新しい Lion の世界にどのように統合すべきか、アドバイスやアイデアはありますか?