0
Core Dataからイベントの配列を取得します。今度は、結果をフィルタリングして、現在起こっているイベント、つまり直近1時間以内に開始されたイベントを取得したいと思います。IOS/Objective-C:NSPredicateでイベントをフィルタリングし、近い日付を見つけよう
配列をフィルタリングする方法や、NSpredicateで日付を操作する方法については、あまりにも曖昧です。私は現在の1時間前の時間を計算する必要があると思う、最初の時間から短い時間である2番目の時間を計算して、これらの開始時間を比較する必要があると思うが、どうすればよいかわからない。
これは私がこれまで持っているものです。
//fetch from coredata
NSArray *results = [self.managedObjectContext executeFetchRequest:fetchRequest
error:&error];
NSMutableArray *mutableresults = [results mutableCopy];
NSDate* now = [NSDate date];
NSTimeInterval backSecondsInHour = -60 * 60;
NSTimeInterval forwardSecondsInHour = 60 * 60;
NSDate* hourAgo = [NSDate dateWithTimeInterval:backSecondsInHour sinceDate:now];
NSDate* hourFromNow = [NSDate dateWithTimeInterval:forwardSecondsInHour sinceDate:now];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"starttime >= %@&&starttime<=%@",hourAgo,hourFromNow];
NSArray *filteredEvents=[mutableresults filteredArrayUsingPredicate:predicate];
は、私はここで正しい軌道に乗っているだろうか?何か提案をいただければ幸いです。代わりに、データベースからのすべての時間がちょうどのみ必要なイベントを取得するすべてのイベントを取得