imO*_*ing 4 iphone core-data ios
我是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;
Run Code Online (Sandbox Code Playgroud)
和一个孩子:
@class Properties;
@interface Units : Properties
@property (nonatomic, retain) NSString * unitDescr;
@property (nonatomic) int16_t unitNumber;
@property (nonatomic, retain) Properties *property;
Run Code Online (Sandbox Code Playgroud)
当我使用此方法获取父属性以在tableview中显示父属性对象时:
- (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];
}
}
Run Code Online (Sandbox Code Playgroud)
我遇到了核心数据上下文获取父实体的子对象的问题.我只想返回父对象.
例如,如果我有一个包含3个单位的属性,则属性tableview应该只显示1行,但它显示4行(1个父级和3个子级).
我如何只返回父对象?
谢谢.
wlu*_*lue 15
看看NSFetchRequest的setIncludesSubentities方法.如果您的数据模型反映了代码中的继承模式,那么如果您正确设置了获取请求,则获取请求将不会获取子实体.
NSFetchRequest *request = [[NSFetchRequest alloc] init];
request.includesSubentities = NO;
| 归档时间: |
|
| 查看次数: |
3417 次 |
| 最近记录: |