2011-07-22 88 views
0

我從NSDatePicker(startDate,endDate)接收兩個值。之後,我嘗試在這兩個日期之間檢索日曆事件。而不是startDate,endDate我給遙遠的,遙遠的未來。NSDate從日曆中檢索事件的問題

程序沒有顯示任何錯誤。當使用這段代碼時,我得到了EXC_BAD_ACCESS。這段代碼有什麼問題?

NSCalendar *sysCalendar = [[NSCalendar currentCalendar] autorelease]; 
unsigned int unitFlags = NSDayCalendarUnit; 
NSDateComponents *difference=[[[NSDateComponents alloc] init] autorelease]; 
difference = [[sysCalendar components:unitFlags fromDate:startDate 
          toDate:endDate options:0] autorelease]; 
double days = [difference day]; 
NSLog(@"DAYSS %@",days); 
+0

你解決了這個問題嗎? – 2011-07-22 12:43:45

回答

1

我已經注意到此三大誤區:

  1. 不要自動釋放的currentCalendar你,沒必要
  2. days應該是一個NSInteger不是double,因爲[difference day]將返回NSInteger
  3. 試圖登錄days使用%@將無法​​正常工作,它用於打印對象描述,使用%i

在我看來對NSLog(@"DAYSS %@",days);應用程序崩潰,使用%i將把崩潰掉取代它,但你應該糾正別人的錯誤了。