0
我在處理我的應用程序中的這個函數。我必須展示來自不同時期的一些不同圖形。通過刷新當前圖形來選擇期間。NSDate和DateByAddingComponents問題
我通過使用DateComponents有一些麻煩。當我測試的應用程序,我展示由dateByAddingComponents編輯的日期,它看起來像在控制檯:
Date : 2009-12-14 10:06:13 GMT
Date : 2009-11-13 10:06:13 GMT
Date : 2009-10-12 09:06:13 GMT
Date : 2009-09-11 09:06:13 GMT
Date : 2009-08-10 09:06:13 GMT
Date : 2009-07-09 09:06:13 GMT
Date : 2009-06-08 09:06:13 GMT
Date : 2009-05-07 09:06:13 GMT
Date : 2009-04-06 09:06:13 GMT
Date : 2009-03-05 10:06:13 GMT
Date : 2009-02-04 10:06:13 GMT
Date : 2009-01-03 10:06:13 GMT
Date : 2008-12-02 10:06:13 GMT
Date : 2008-11-01 10:06:13 GMT
Date : 2008-09-30 09:06:13 GMT
Date : 2008-08-29 09:06:13 GMT
,你可以看到,一小時的有時會發生變化,但最大的問題是,有錯過一個月(2008年第10)。
沒有對這些行爲的實現代碼:
if (currentPosition.x > gestureStartPoint.x) {
switch (self.segmentedControl.selectedSegmentIndex) {
case 0:
[dateComponents setDay:-1];
self.date = [gregorian dateByAddingComponents:dateComponents toDate:self.date options:0];
NSLog(@"Date : %@", date);
break;
case 1:
//NSLog(@"before : %@", date);
[dateComponents setMonth:-1];
self.date = [gregorian dateByAddingComponents:dateComponents toDate:self.date options:0];
NSLog(@"Date : %@", date);
break;
case 2:
//NSLog(@"before : %@", date);
[dateComponents setYear:-1];
self.date = [gregorian dateByAddingComponents:dateComponents toDate:self.date options:0];
NSLog(@"Date : %@", date);
break;
default:
break;
}
}
else if(currentPosition.x <= gestureStartPoint.x){
switch (self.segmentedControl.selectedSegmentIndex) {
case 0:
[dateComponents setDay:1];
self.date = [gregorian dateByAddingComponents:dateComponents toDate:self.date options:0];
NSLog(@"Date : %@", date);
break;
case 1:
[dateComponents setMonth:1];
self.date = [gregorian dateByAddingComponents:dateComponents toDate:self.date options:0];
NSLog(@"Date : %@", date);
break;
case 2:
[dateComponents setYear:1];
self.date = [gregorian dateByAddingComponents:dateComponents toDate:self.date options:0];
NSLog(@"Date : %@", date);
break;
default:
break;
}
}
我該如何解決呢???
感謝您對小時的指示。在這個月裏,我不知道我在哪一天減少了...我完成重新閱讀entiere類,我沒有看到任何類似的錯誤。當我強制dateComponents([dateComponents setDay:0],setMonth:1和setYear:0後跟一個dateByAddingComponents)時,該錯誤仍然運行... – clement 2011-05-03 10:08:47
事實上,我必須在使用它之後將dateComponents設置爲0,if不是,所有關於datecomponent的修改都將被保存和刪除/重新創建 – clement 2011-05-05 08:54:45