【发布时间】:2011-10-28 13:40:26
【问题描述】:
我有以下代码从核心数据中获取一组“项目”(每个“项目”都有一些属性,例如“标题”、“时间”、“结束时间”、“支付”等):
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Project" inManagedObjectContext:__managedObjectContext];
[request setEntity:entity];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"endTime" ascending:NO];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[request setSortDescriptors:sortDescriptors];
NSError *error = nil;
NSMutableArray *mutableFetchResults = [[__managedObjectContext executeFetchRequest:request error:&error] mutableCopy];
if (mutableFetchResults == nil) {
// Handle the error.
}
[self setEventsArray:mutableFetchResults];
但是只返回项目而不是它们的属性:<NSManagedObject: 0x154010> (entity: Project; id: 0x1dad70 <x-coredata://85BD9DF1-B41B-4234-8397-C2F568D0CC7A/Project/p3> ; data: <fault>
我必须单独获取属性还是错过了什么?谢谢。
【问题讨论】:
-
__managedObjectContext 的生命周期是什么?您是否可能使用 ARC 以便 NSManagedContext 在调用 2. 时间后被释放?
标签: ios xcode core-data nsfetchrequest