はI 2自動生成するエンティティを持っている:すなわち、一方の接点が多くの点を有する、一点は、内部多くの接点を有するNSSetから/に関連する関連エンティティ取得 - CoreData
@interface ContactEntity : Entity
@property (nonatomic, retain) NSString *caption;
@property (nonatomic, retain) NSString *image;
@property (nonatomic, retain) NSString *name;
@property (nonatomic, retain) NSString *text;
@property (nonatomic, retain) NSSet *pointLink;
@end
@interface PointEntity : Entity
@property (nonatomic, retain) NSNumber *latitude;
@property (nonatomic, retain) NSNumber *longitude;
@property (nonatomic, retain) NSSet *entityLink;
@property (nonatomic, retain) EntityEntity *entityTypeLink;
@end
これらは多対多のように互いの間で連結されています。
は、私は最初のエンティティを取得:
ContactModel *contact = [[[ContactModel alloc] init] autorelease];
// this is FetchRequest, returns array of all entities
self.items = [contact list:contact];
// i get only one, all is OK here, this entity has related PointEntity in DB
ContactEntity *contactEntity = [self.items objectAtIndex:self.selection];
を、私は選択ContactEntityでNSSetを使用して関連PointEntityを取得しようとするとき、私は常にNULLまたは空の配列を取得します。これはどちらも動作しません。
NSArray *points = [contactEntity.pointLink allObjects];
PointEntity *pointEntity = [contactEntity.pointLink anyObject];
NSInteger x1 = [points count]; // always 0
id x2 = pointEntity.latitude; // always 0
for (PointEntity *x in contactEntity.pointLink) // isn't enumerated because count = 0
{
id x3 = x.latitude;
}
いずれの考えもあります。私は、ContactEntityに関連するPointEntityからエンティティを選択するためにNSPredicateを使用する必要があるかもしれません。
ありがとうございました。
P.S.私の質問はこれに似ているが、その提案が私のために動作しません、私は CoreData: many-to-many relationship