executeFetchRequest:error:
取り出しリクエストを実行します
-(NSArray *)executeFetchRequest:(NSFetchRequest *)request:
error:(NSError **)error:
解説
取り出しリクエストを実行します。
返り値
( NSArray * )
なし
引数
( NSFetchRequest * )request
検索リクエスト
( NSError ** )error
エラーがあった時、ここに返される
フレームワーク
CoreData
クラス
NSManagedObjectContext
Instance Methods
使用可能
10.4
参照
例文
NSDate *theDate1 = [NSDate dateWithTimeIntervalSinceNow: -10*24*3600]; // 10日間前 //秒 10日*24時間*3600秒(-は過去の日付) NSString *predicateCommand = [NSString stringWithFormat:@"createDate > CAST(%.1f, \"NSDate\")", [theDate1 timeIntervalSinceReferenceDate] // ]; NSPredicate *predicate = [NSPredicate predicateWithFormat: predicateCommand ]; //文字列の検索だったらこういう風にする //NSPredicate *predicate = [NSPredicate predicateWithFormat:@"title = '1'"]; // エンティティを指定する NSEntityDescription *story = [NSEntityDescription entityForName:@"Story" inManagedObjectContext: [self managedObjectContext]]; // 要求に上記をセット NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease]; [request setEntity:story]; [request setPredicate:predicate]; [request setFetchLimit: 10u ]; //取り出す最大数 この場合だったら10件分まで取り出す //ソート順 日付でソート NSSortDescriptor *descriptor=[[[NSSortDescriptor alloc] initWithKey:@"createDate" ascending:NO selector:NSSelectorFromString(@"compare:")] autorelease]; NSArray *sortArray = [NSArray arrayWithObjects:descriptor,nil]; [request setSortDescriptors: sortArray ]; //ソートデスクリプタをセットする // フェッチ(取り出し) NSArray *fetchedObjects = [[self managedObjectContext] executeFetchRequest:request error:nil];