2015-03-31 42 views
-1

我試圖創建一個具有幾個參數的獲取日期,我對這裏的邏輯有點困惑。如何根據幾個參數向NSDate添加額外的日期?

用戶情況#1:

  • 在同一天
    • 取日期= 1天后,2天以後,3天后

用戶創建3個對象案例#2:

  • 創建一個其他對象翌日
    • 以後取日期= 4天(從原始日期),因爲會有之前取日期,以佔

用戶情況#3:

  • 在原始日期後的4天內創建另一個對象
    • 獲取日期=創建日期之後1天(原始日期後5天)

這是我到目前爲止有:

- (NSDate *)createdAtDate { 
    NSDate *now = [NSDate date]; 
    return now; 
} 

- (NSDate *)fetchDate { 
    NSDateComponents *dayComponent = [[NSDateComponents alloc] init]; 
    NSUInteger count = [[RecordingController sharedInstance].memos count]; 
    dayComponent.day = count; 

    NSCalendar *calendar = [NSCalendar currentCalendar]; 
    NSDate *nextDate = [calendar dateByAddingComponents:dayComponent toDate:[NSDate date] options:0]; 

    return nextDate; 
} 

基本上,我就指望每一個實例被保存到核心數據,使這成爲後來的天量,但是這能成爲一個問題是否因爲抓取日期繼續增加而保存了許多對象。

我試圖解決的問題是,如果對象是在不同的日子創建的,或者如果沒有其他對象「排隊」(等待被提取),它將不會計算獲取日期正確使用我當前的代碼。

+0

你忘了提及你有什麼問題你發佈的代碼。 – rmaddy 2015-03-31 01:09:37

+0

噢,問題是如果對象是在不同的日子創建的,或者沒有其他的對象被「排隊」(等待被提取),它將不會使用我當前的代碼正確計算提取日期。 – jasonnoahchoi 2015-03-31 01:14:13

+1

更新你的問題與這些細節,讓人們不必通過評論追捕。 – rmaddy 2015-03-31 01:15:15

回答

0
  1. 創建NSFetchRequest
  2. 排序fetchRequest由fetchDate,降
  3. 限制fetchRequest 1個對象
  4. 執行fetchRequest

你數組中有一個的對象包含最後fetchDate。如果你得到的fetchDate比今天更早,我想你必須分支。

  1. 如果fetchDateOld < =今天,fetchDateNew是明天
  2. 如果fetchDateOld>今天,fetchDateNew是fetchDateOld +1天
+0

感謝Matthias,這很有幫助。 – jasonnoahchoi 2015-04-03 02:18:00