Eh, bu bin kere istendi, ama nedense answeres gerçekten dont iş veya başka sorunlar vardı sanırım ....Bugün veya Dün seçeneği NSDate karşılaştırın Neyse burada
Ne sahip "çalışıyor ":
sorun (lar) ŞimdiNSCalendar *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];
}
:
daha kolay bir yolu yoktur, sadece bir randevu comparinson için kod bir awefull sürü gibi görünüyor?
Ve en önemli soru, tüm nesnelerin serbest bırakılmasıdır. Tahmin etmiş olabileceği gibi, bunu bir UITableViewController'da kullanıyorum. ,
//[calendar release];
//[currentDate release];
//[dateToday release];
//[dateYesterday release];
//[todayString release];
//[yesterdayString release];
//[refDateString release];
sorun en kısa zamanda bu satırlardan birini yorumsuz o benim app çöker ve neden hiçbir fikrim yok: Ben de kodunda bu satırları var?! Umarım biri beni burada aydınlatır.
Çok teşekkürler.
Eh, son bit kolaydır: Eğer Bu nesnelerden hiçbirine sahip değilsiniz, bu yüzden sizin çıkacak değilsiniz. comps, ayırdığınız tek nesnedir. Diğerlerinin hepsi otomatik olarak iade edilir veya hiç serbest bırakılmayacaktır. – walkytalky
sayesinde iyi bir açıklama;) 'isEqualToDate – elementsense