0

これを行う最も簡単な方法は、目的のエンティティのすべてのオブジェクトをフェッチしてから、必要な属性を確認することだと思います。私の質問は次のとおりです。データをフェッチして保存するにはどうすればよいNSArrayですか?

4

1 に答える 1

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];

}

于 2012-07-02T18:42:02.167 に答える