1

これで少し頭痛がして、誰かがアドバイスを提供できるかどうか疑問に思っていました!

CoreDataを使用して永続ストレージを実装しています。

私は2つのエンティティカーアンドドライバーを持っています。車には多くのドライバーがいる可能性があります。

  • 1つのビューでは、ドライバーを収集してNSMutableArrayに保存しています。

  • この配列は別のビューに渡されており、ある時点で車に対して保存します

私がやりたいのは、配列から各ドライバーをドライバーのテーブルの別々の行に保存することです(車に割り当てられる名前(NSString)だけです。

  • Carのデータベースにエントリを作成できますが、そのCarに割り当てられたドライバーテーブルの個別の行に各ドライバーを保存するのに苦労しています。

正しい方向への提案やポインタは大歓迎です!

乾杯 :)

4

3 に答える 3

3

あなたの質問はあなたのコードを見ずにかなり広いので、あなたの答えに対する完全な解決策をカプセル化するのは難しいでしょう。

独自のプロジェクトを進めるために必要なコアデータの概念をカバーする、Appleの優れたBooksandRecipesサンプルアプリケーションウォークスルーしてみてください。

于 2009-11-18T13:07:39.597 に答える
2

CarエンティティとDriverエンティティの両方があるとのことですが、ドライバー名を車の属性として直接保存しようとしているようです。なぜあなたは彼らNSString *nameを車に保存しているのですか?

そうする代わりに、あなたは単にあなたの車とそのドライバーの間の関係を更新するべきです。エンティティをカスタムクラスとして実装する場合(そして私はそれを強くお勧めします-このADCガイドを参照してください)、誰がどの車を運転するかを更新したいときは、単に次のように言うことができます:[car addDriversObject:driver]または[car removeDriversObject:driver]

Alexが言ったように、自分で行き過ぎてしまう前に、CoreDataをしっかりと把握しておくことをお勧めします。

于 2009-11-18T19:20:30.083 に答える
1

私はコアデータを使用するプロではありませんが、NSKeyArchiverを使用して配列からデータを取得し、返されたNSDataオブジェクトをデータベースに保存することができます。sqlliteデータベースで正常に動作します。

于 2009-11-18T10:06:33.537 に答える