Nun, ich denke, das tausendmal gefragt wurde, aber aus irgendeinem Grund die answeres arbeiten nicht wirklich oder andere Probleme hatten, ....Vergleichen NSDate für heute oder gestern
hier Wie auch immer ist, was ich habe „Arbeits ":
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDate *currentDate = [NSDate date];
NSDateComponents *comps = [[NSDateComponents alloc] init];
// set tomorrow (0: today, -1: yesterday)
[comps setDay:0];
NSDate *dateToday = [calendar dateByAddingComponents:comps toDate:currentDate options:0];
[comps setDay:-1];
NSDate *dateYesterday = [calendar dateByAddingComponents:comps toDate:currentDate options:0];
[comps release];
NSString *todayString = [self.dateFormatter stringFromDate:dateToday] ;
NSString *yesterdayString = [self.dateFormatter stringFromDate:dateYesterday] ;
NSString *refDateString = [self.dateFormatter stringFromDate:info.date];
if ([refDateString isEqualToString:todayString])
{
cell.title.text = @"Today";
} else if ([refDateString isEqualToString:yesterdayString])
{
cell.title.text = @"Yesterday";
} else
{
cell.title.text = [self.dateFormatter stringFromDate:info.date];
}
Nun zum Problem (e):
das ist eine awefull Menge Code für nur ein Datum comparinson zu sein scheint, ist es ein einfacher Weg?
Und die wichtigste Frage ist die Freigabe aller Objekte. Wie ich vermutet habe, verwende ich dies in einem UITableViewController. Ich habe auch diese Zeilen in meinem Code:
//[calendar release];
//[currentDate release];
//[dateToday release];
//[dateYesterday release];
//[todayString release];
//[yesterdayString release];
//[refDateString release];
Das Problem ist, dass so schnell, dass ich Kommentar- eine dieser Linien, meine App stürzt ab und ich habe keine Ahnung, warum?! Ich hoffe, dass mich jemand hier aufklären kann.
Vielen Dank.
Nun, das letzte Bit ist einfach: Sie besitze keine dieser Objekte, also dürfen sie nicht von dir freigegeben werden. Comps ist das einzige Objekt, das Sie zuweisen. Die anderen werden alle entweder als Autoreleased zurückgegeben oder sollen überhaupt nicht veröffentlicht werden. – walkytalky
Danke, gute Beschreibung;) – elementsense