2009-07-31 10 views
2

私はIPhone開発には新しく、現在Core Dataで手を使っています。私は私のモデルで定義したエンティティをいくつか持っています。あるエンティティでは、取得されたプロパティがあります。モデルからObjective-Cソースファイルを生成するとき、fetchedプロパティで定義したエンティティには、取得したプロパティ用に定義されたプロパティがありません。どうして?フェッチされたプロパティにアクセスするにはどうすればよいですか?ティムに応じてObjective-C 2.0のフェッチされたプロパティへのアクセス方法コアデータを使用して

詳細は:

  • 私はLibraryという名前のエンティティとBookという名前の別のエンティティを持っています。
  • Libraryは、Bookと1対多の関係にあります(Bookも逆の関係を持っています)。
  • Bookには、isCheckedOutというBOOLプロパティがあります。
  • フェッチされたプロパティLibraryfetchAllCheckedOutBooksと定義しました。宛先エンティティはBookであり、述語はisCheckedOut == 1です。
+0

プロパティ。また、Xcodeでソースファイルを生成しているとしますか? – Tim

答えて

6

valueForKeyを使用して試したことがありますか、取得したプロパティの名前を渡しましたか?それは私がそれが働くことを期待する方法です。私はまた、NSSetオブジェクトを返すだろうと期待されるが、それは簡単にこれを行うことによって検証されます:

id results = [myManagedObject valueForKey:@"fetchedPropertyName"]; 
NSLog(@"%@", [results className]); 
+4

-1フェッチプロパティはNSArrayのないNSSet http://developer.apple.com/documentation/Cocoa/Conceptual/CoreData/Articles/cdRelationships.html#//apple_ref/doc/uid/TP40001857-SW7フェッチを返しますプロパティは配列ではなく、集合で表されます。プロパティに関連付けられたフェッチ要求はソート順を持つことができ、したがってフェッチされたプロパティは順序付けられます。 – groundhog

1

うん、これは迷惑です....

フェッチされたプロパティは、あなたので、NSArrayのとして返されます

//.h @property(nonatomic、retain)NSArray * fetchedPropertyName;

//.m @dynamic fetchedPropertyName;それは通常の属性との関係の場合と同様に、それはNSManagedObjectのサブクラスを生成するときにXcodeのがこれを含んでいないことは本当に奇妙

0

ええ、

我々は先の実体を知っているし、あなたがフェッチのために設定されている述語ことができればそれが役立つだろう
関連する問題