我有一个Person
对象。该person
对象具有以下属性;
Name
StartDate
EndDate
我将此Person
对象保存到array
. 该数组可能包含多个100 person
对象。
以下是person
该数组中的对象示例;
John, Tue Feb 22, Thr Mar 30
Jack, Wed Mar 09, Fri Apr 21
Jack, Thu Mar 19, Fri Dec 20
Jack, Tue Jan 08, Fri Apr 26 etc..
现在我需要提供一个日期,例如Wed 29 Mar
,我需要检查它是否在对象数组的范围StartDate
内。我怎样才能做到这一点 ?我的工作如下,但它不起作用(它给出了不正确的结果)EndDate
persons
NSPredicate *datePred = [NSPredicate predicateWithFormat:@"StartDate>= %@ && EndDate<= %@",givenDate,givenDate];
resultArray = [arrayContainingAllPersonObjects filteredArrayUsingPredicate:datePred ];
我也尝试了以下方法,但它也给出了不正确的结果(已从 SO 帖子中删除);
NSPredicate *greaterThanPredicate = [NSPredicate predicateWithFormat:@"StartDate<= %@", providedDate"];
NSPredicate *lessThanPredicate = [NSPredicate predicateWithFormat:@"EndDate>= %@", ProvidedDate"];
NSPredicate *betweenPredicate = [NSCompoundPredicate andPredicateWithSubpredicates:[NSArray arrayWithObjects:greaterThanPredicate, lessThanPredicate, nil]];
我不知道是什么原因造成的,求助