UICollectionViewを使用してカスタムカレンダーを設定し、30日までの日付を保持する配列を持っています。私がやろうとしているのは、値が現在の日付とその7日前の間にあるかどうかを調べることです。もしそうなら、私は何かをするためにそれが必要です。私は自分が間違っていることを理解できません。これが私がこれまでに持っているものです:
NSDateFormatter *df = [NSDateFormatter new];
[df setDateFormat:@"MM-dd-yy"];
NSdate *date = [NSDate date];
NSDate *newCurrentDate = [date dateByAddingTimeInterval:+14*24*60*60];
NSDate *sevenDaysBeforeCurrent = [date dateByAddingTimeInterval:-7*24*60*60];
if([[df stringFromDate:[days objectAtIndex:indexPath.item]] compare:[df stringFromDate:newCurrentDate]] == NSOrderedAscending && [[df stringFromDate:[days objectAtIndex:indexPath.item]] compare:[df stringFromDate:sevenDaysBeforeCurrent]] == NSOrderedDescending )
{
UIImage *buttonImage = [UIImage imageNamed:@"dates.png"];
[myButton setBackgroundImage:buttonImage forState:UIControlStateNormal];
}
それは、前の7だけでなく、newCurrentDateより前のすべての日付の画像を変更することです。誰かが私が間違っていることを見ることができますか?
配列の初期化は次のとおりです。
myDays = [[NSMutableArray alloc] init];
NSCalendar *cal = [NSCalendar autoupdatingCurrentCalendar];
NSDate *today = [NSDate date];
date = [NSDate date];
for (int i = 0; i < 31; i++)
{
NSDateComponents *comps = [[NSDateComponents alloc]init];
[comps setDay:i];
[myDays addObject:[cal dateByAddingComponents:comps toDate:today options:0]];
}