私は iOS dev と Core Data が初めてです。親 NSManagedObject があります
@class Units;
@interface Properties : NSManagedObject
@property (nonatomic, retain) NSString * descr;
@property (nonatomic, retain) NSString * address;
@property (nonatomic, retain) NSString * city;
@property (nonatomic, retain) NSString * state;
@property (nonatomic, retain) NSString *zipCode;
@property (nonatomic, retain) NSString * imageKey;
@property (nonatomic, retain) NSString * numberOfUnit;
@property (nonatomic, retain) NSData * thumbnailData;
@property (nonatomic, strong) UIImage * thumbnail;
@property (nonatomic) double orderingValue;
@property (nonatomic, retain) NSSet *units;
そして子供:
@class Properties;
@interface Units : Properties
@property (nonatomic, retain) NSString * unitDescr;
@property (nonatomic) int16_t unitNumber;
@property (nonatomic, retain) Properties *property;
このメソッドで親プロパティをフェッチして、親プロパティ オブジェクトをテーブルビューに表示すると、次のようになります。
- (void)loadAllItems
{
if (!allItems) {
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *e = [[model entitiesByName] objectForKey:@"Properties"];
[request setEntity:e];
NSSortDescriptor *sd = [NSSortDescriptor
sortDescriptorWithKey:@"orderingValue"
ascending:YES];
[request setSortDescriptors:[NSArray arrayWithObject:sd]];
NSError *error;
NSArray *result = [context executeFetchRequest:request error:&error];
if (!result) {
[NSException raise:@"Fetch failed"
format:@"Reason: %@", [error localizedDescription]];
}
allItems = [[NSMutableArray alloc] initWithArray:result];
}
}
コア データ コンテキストが親エンティティの子オブジェクトを取得するという問題に遭遇しました。親オブジェクトを返したいだけです。
たとえば、3 つのユニットを持つプロパティがある場合、プロパティ テーブルビューには 1 行しか表示されませんが、4 行 (親 1 つと子 3 つ) が表示されます。
親オブジェクトを返すにはどうすればよいですか?
ありがとう。