0

私は Core Data を使い始めており、私の場合にどのように機能するかをしっかりと理解しようとしています。私は、ユーザーがキーワードと各写真に関連付けられた他のいくつかの属性に基づいて結果をフィルターできるようにする iPad フォト アルバム アプリを構築しています。属性は、向きや色の有無などの基本的なものです。キーワードは、ユーザーが選択する必要がある一連の定義済みの値に基づいています。


エンティティ (属性):
写真( id 、タイトル、説明、ファイル パス)
キーワード(id、名前)

写真には複数のキーワードを関連付けることができるため、「写真」から「キーワード」の宛先で関係を作成し、対多の関係にしますか? それは正しいですか、クレイジーですか、完全に間違っていますか? その関係のレコードを追加/取得するにはどうすればよいですか?

4

2 に答える 2

3

キーワードが定義されていて、ユーザーが定義されたリストからキーワードを選択できる場合、エンティティキーワードは使用しませんでした。ヒントは常に単数の名前(写真、キーワード)を使用します。plistにキーワードがあり、ユーザーがいくつかを選択したら、カンマ区切りの文字列を作成して、写真のプロパティとして保存できます。Josephが述べたように、NSManagedObjectをサブクラス化すると、文字列(キーワード)を受け取り、そのキーワードがPhotoプロパティのコンマ区切りのキーワード値の一部であるかどうかを示すBOOLを返すメソッドを追加します。

于 2012-04-14T17:51:50.743 に答える
1

正解です。これにアクセスするにはいくつかのアプローチがありますが、最も簡単な方法はNSManagedObjectサブクラスを生成することです([エディター]-> [NSManagedObjectサブクラスの作成...])。これらの写真エンティティにデータを入力すると、キーワード関係がキーワードと呼ばれるプロパティに入力されます。

于 2012-04-14T17:43:01.317 に答える