我有一个表格视图,显示通过日期选择器设置的日期。我想将日期选择器日期与当前日期进行比较,如果日期选择器早于当前日期,我希望日期显示为橙色。我目前的代码有效,但它改变了单元格中的颜色,而不仅仅是较旧的代码。任何帮助将不胜感激。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSDate *today = [NSDate date];
NSDate *Storeddate = [[NSUserDefaults standardUserDefaults] objectForKey:@"Datepicker"];
NSComparisonResult result;
result = [today compare:Storeddate];
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
// Configure the cell...
NSManagedObject *Data = [ArrayData objectAtIndex:indexPath.row];
[cell.textLabel setText:[NSString stringWithFormat:@"%@", [Data valueForKey:@"dataattribute"]]];
[cell.detailTextLabel setText:[NSString stringWithFormat:@"%@", [Data valueForKey:@"date"]]];
if (result == NSOrderedDescending) {
cell.detailTextLabel.textColor = [UIColor orangeColor];
}
else{
cell.detailTextLabel.textColor = [UIColor blackColor];
}
return cell;
}
答案 0 :(得分:1)
您的result
每次都会比较相同的两个日期。你得到这样的两个值:
NSDate *today = [NSDate date];
NSDate *Storeddate = [[NSUserDefaults standardUserDefaults] objectForKey:@"Datepicker"];
这两个都是常量值(除非您在加载每个单元格之间的某个点更改Datepicker
对象)。
我假设您想要将[Data valueForKey:@"date"]
与today
进行比较。