检查各种CoreData对象

时间:2012-07-02 17:04:12

标签: cocoa-touch core-data

我认为最简单的方法是获取所需实体的所有对象,然后检查我需要的属性。我的问题是:如何获取数据并将其存储在NSArray

1 个答案:

答案 0 :(得分:0)

执行此操作的正确方法可能是使用NSPredicate和NSFetchrequest,这是一个涉及检查关系,检查属性,然后将结果作为数组返回的示例。

-(NSArray *)pointsInSection:(NSInteger)section{
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription
                               entityForName:@"TourPoint" inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"tour == %@ && section == %i", theTour, section];
[fetchRequest setPredicate:predicate];

NSSortDescriptor *rowSort = [[NSSortDescriptor alloc] initWithKey:@"row" ascending:YES];
[fetchRequest setSortDescriptors:[NSArray arrayWithObjects:rowSort, nil]];
return [self.managedObjectContext executeFetchRequest:fetchRequest error:nil];

}