我有一个event objects
的数组。该对象有几个属性。其中一个属性是NSDate eve_date
。检查自定义对象数组是否包含某个日期的对象
现在我要检查,如果对象的数组中含有一定NSDate d
我做了以下
if([[matches valueForKey:@"eve_date"] containsObject:d]){
NSLog(@"contains object");
}else{
NSLog(@"does not contains object");
}
但是,这是行不通的。谁能帮我 ?
亲切的问候
编辑
好让我更清楚。我正在制作日历应用。我提取了特定月份内的所有事件。我现在需要做的是在正确的日期在我的日历上放置一个标记。所以我有这个功能。
NSLog(@"Delegate Range: %@ %@ %d",start,end,[start daysBetweenDate:end]);
self.dataArray = [NSMutableArray array];
self.dataDictionary = [NSMutableDictionary dictionary];
NSDate *d = start;
while(YES){
for (Event *event in matches) {
if([event.eve_date isEqualToDate:d]){
// (self.dataDictionary)[d] = save event title in here
[self.dataArray addObject:@YES]; //place marker on date 'd'
}else{
[self.dataArray addObject:@NO]; // don't place marker
}
}
NSDateComponents *info = [d dateComponentsWithTimeZone:calendar.timeZone];
info.day++;
d = [NSDate dateWithDateComponents:info];
if([d compare:end]==NSOrderedDescending) break;
}
但现在我通过我的事件数组循环31次(天量的关月)。 (这可能不是最佳做法解决方案???)
我也认为问题是,日期的时间是不一样的。例如:
eve_date --> 2013-08-13 12:00
d --> 2013-08-13 15:00
所以我可能应该使用一个NSDateformatter只获取日期本身没有时间?
我正确吗?
你检查(并记录)的'[matches valueForKey:@“eve_date”]'的内容? – Wain
解决方案是否必须使用KVC? –
我可以通过NSPredicate来实现。 –