我在使用日期列过滤NSScrollViews内容时遇到问题。
我有一个实体,它包含多个属性,例如名称, AccountNumber , DateOfPurchase 等。此实体绑定到NSArrayController的。
另外,我有一个NSScrollView,它的列被绑定到这个NSArrayController。
问题是我想过滤这个NSScrollView记录,只显示它们受2个日期间隔限制的记录。 (如:2010年10月2日之后和2011年5月5日之前)
我该怎么办呢?
答案 0 :(得分:0)
使用FilterPredicate解决问题:
NSDate *afterDate=[balanceDateAfter objectValue];
NSDate *beforeDate=[balanceDateBefore objectValue];
NSComparisonResult duration=[beforeDate timeIntervalSinceDate:afterDate];
duration=duration/3600;
duration=duration/24;
NSLog(@"After Date is : %@",afterDate);
NSLog(@"Before Date is : %@",beforeDate);
[checkInBalanceArray setFilterPredicate:[NSPredicate predicateWithFormat:@"(checkDate >= %@) AND (checkDate <= %@)", afterDate, beforeDate]];
[checkOutBalanceArray setFilterPredicate:[NSPredicate predicateWithFormat:@"(checkDate >= %@) AND (checkDate <= %@)", afterDate, beforeDate]];