0
코어 데이터에서 이벤트 배열을 가져옵니다. 차례대로, 나는 현재 발생하고있는 이벤트, 즉 지난 1 시간 이내에 시작된 이벤트를 얻기 위해 결과를 필터링하려고합니다.IOS/Objective-C : NSPredicate를 사용하는 이벤트 배열을 필터링하여 가까운 날짜를 찾습니다.
나는 배열을 필터링하는 방법에 대해 조금 퍼지기도하고 NSpredicate에서 날짜로 작업하는 방법을 더 잘 모르는 경우도 있습니다. 나는 현재보다 1 시간 앞선 시간을 계산할 필요가 있다고 생각합니다. 즉, futrue에서 짧은 시간이 걸리는 초를 계산 한 다음 시작 시간을 비교해 볼 필요가 있습니다.
//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];
내가 여기 바른 길에 오전 :
이것은 내가 지금까지 가지고 무엇인가? 어떤 제안이라도 고맙게 생각합니다.