3

たとえば、Photoshop や Gimp などの画像操作プログラムなど、Core Data に適していないアプリケーションが存在する可能性があります。しかし、Address Book や iCal などの Core Data に適したアプリケーションの場合、カスタム モデルではなく Core Data を選択する基準は何ですか?

4

3 に答える 3

3

私は最近、実世界のアプリケーションで初めて Core Data を使用することにしたプロジェクトを開始しました。私のアプリケーションは、実際にはカスタム データ モデルを使用する古いアプリのバージョン 2.0 であるため、この問題について多くの時間を費やして議論しました。ここに私が自分自身に尋ねたことのいくつかがあります。

  • Core Data が自明ではないアプリケーションでどのように機能するかを学び、新しいテクノロジを学習しているときに発生する小さなバグや特異性を修正する時間です。アプリケーションの大部分を担当する Core Data のようなものを使用したくないため、これにはプロトタイプが 1 つまたは 2 つ含まれる場合があります。

  • カスタム データ モデルを使用する場合に対処するのが難しい問題 (たとえば、非常に大きなデータ セットをメモリに格納して保持する場合) をコア データが解決するかどうか。

  • Cocoa Touch など、Core Data が利用できないプラットフォームとコードを共有するかどうか。同じように、別のエクスポーターを構築することなく、結果のデータ ファイルに互換性を持たせたい場合。

  • Core Data を学ぶことがプログラマーとしての自分自身の向上に役立つ場合は、それが Mac 開発ショップにとってより魅力的なものになるか、単に自分で使用するかどうかに関係なく.

  • データ モデルが単純で、元に戻すマネージャーのサポートや関係などを実際に必要としない場合は、コア データが真価を発揮する領域です。

  • NSManagedObject を使用したくない外部ライブラリまたは分散オブジェクトなどの他のテクノロジを使用している場合。

于 2008-11-24T21:45:30.527 に答える
1
  1. 何らかの理由で、最小要件として 10.4 より前の Mac OS X バージョンをターゲットにしていますか? もしそうなら、あなたのためのコアデータはありません.
  2. ユーザーがリスト内のものを手動で並べ替えられるようにしますか? もしそうなら、あなたのためのコアデータはありません—それは順序付けられた関係を許可しません. (おそらく、順序付けできる数値の「シーケンス」プロパティを作成できますが、その一貫性を維持するのは非常に面倒に思えます。)
  3. 特定のファイル形式をネイティブ形式として使用する予定ですか? (たとえば、TextEdit のネイティブ形式は RTF です。) そうでない場合、ディスク上のストレージに Core Data を使用しないため、まったく使用したくない場合があります。(できますが、他に十分な理由があるかどうかはわかりません。)
于 2008-11-25T07:02:19.607 に答える
0

キック:)

私にとって、自問する必要がある最大の質問は、重要なデータ (ユーザーが作成したコンテンツ) をそこに保存するのか、それとも簡単に複製できるデータ (インターネットからダウンロードしたコンテンツ) を保存するのかということです。最初の (ユーザーが作成したデータ) がある場合は、できるだけ早くコア データから離れるか、アプリにバックアップ プランがあることを確認します。

たとえば、オブジェクト モデルの新しいバージョンにデータを移行しようとすると、バグが発生し始めます (そして、私を信じてください)。また、顧客に「申し訳ありませんが、あなたのアプリの新しいバージョンを作成できません。Apple が修正するのを待っています」と伝えても、現実の世界では役に立ちません。基礎となる構造にアクセスしたり理解したりするための公式の方法はないため、いったんブームになると、あなたは独りでいる.

そこに行ったことがありますが、二度とそこには行きません!

私の2セント

于 2012-04-08T14:12:19.723 に答える