0

aと aEventを保存するテーブルがあります。コア データから取得した配列をフィルター処理して、保存された日付に関係なく、過去 1 時間と次の 1 時間に実行されたすべてのアクションを表示したいと考えています。火曜日の例では、アクションは 16:00 に保存されましたが、今日は金曜日の 17:00 であり、火曜日に保存されたアクションとその時間枠内のアクションを取得したいと考えています。NSString *actionNSDate *date

4

1 に答える 1

0

この問題で立ち往生している人のために。整数(アクションの時間)を保持するようにイベントテーブルを変更し、このように取得しました

NSDate *currentFullDate = [NSDate date];
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [calendar components:(NSHourCalendarUnit | NSMinuteCalendarUnit) fromDate:currentFullDate];
NSInteger currentHour = [components hour];
NSInteger hourAgo = currentHour -1;
NSInteger nextHour = currentHour +1;


NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Event"];
request.predicate = [NSPredicate predicateWithFormat:@"(hour >=%@) AND (hour <= %@)", hourAgo, nextHour];
request.fetchLimit = 5;
NSError *error;
NSArray *eventArray = [managedObjectContext executeFetchRequest:request error:&error];

for (Event *event in eventArray)
{

}
于 2012-11-09T16:51:24.650 に答える