Правильный способ сделать это, вероятно, использовать 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];
}