0
我正在製作一個應用程序,該應用程序會自動顯示計劃輪播中的班級列表。我的核心功能已完成,但我的目標是讓用戶在首次啓動時輸入輪換號碼,然後週一至週五在後臺增加,並在週末而不是。例如,如果用戶在星期五下載應用程序,並在第5天進入該應用程序,則該應該保留第5天,直到星期一,然後將成爲第6天。如果用戶沒有,我也希望它更新它打開應用程序幾天。這裏是我當前的代碼:每天午夜(不包括週末)增加NSUserDefaults數字
- (void)checkIfDayChanged {
NSDate *open = [userDefaults objectForKey:@"openDate"];
NSDate *close = [userDefaults objectForKey:@"closeDate"];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd"];
NSString *openString = [dateFormat stringFromDate:open];
NSString *closeString = [dateFormat stringFromDate:close];
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
BOOL weekend = [gregorian isDateInWeekend:open];
NSTimeInterval distanceBetweenDates = [close timeIntervalSinceDate:open];
NSInteger days = ((NSInteger)distanceBetweenDates)/(60 * 60 * 24);
if (![openString isEqualToString:closeString]) {
if (!weekend) {
[userDefaults setInteger:[userDefaults integerForKey:@"dayNumber"] + days forKey:@"dayNumber"];
[userDefaults synchronize];
}
}
的問題是,我的理解,iOS的只能當應用程序被打開,而不是在後臺檢查這一點,這是正確的?而且,這並沒有說明週末不增加價值。
你讓我們猜什麼不對的代碼?我建議你告訴我們。 –
@意義 - 事情我很抱歉,我今天早些時候寫這個很急。我編輯解釋了主要的兩個問題。 – anthonya1999
現在很清楚。爲什麼要在應用程序未打開時更新?我的意思是,當用戶再次打開應用程序時,可以計算下一個旋轉數,他會如何注意? –