我希望這個代碼是不夠好,停止一切你所問的方式過於頻繁類似的問題。
是的,對未來的教訓:在我感興趣的類別中遇到很多問題,並且我將提供代碼。
- (void)updateLabelForDate:(NSDate *)date {
NSTimeInterval timeInterval = [date timeIntervalSinceReferenceDate];
NSInteger days = timeInterval/(60*60*24);
NSArray *sloganArray = [NSArray arrayWithObjects:
NSLocalizedString(@"Slogan for day 1", nil),
NSLocalizedString(@"Slogan for day 2", nil),
NSLocalizedString(@"Slogan for day 3", nil),
NSLocalizedString(@"I'll hope you'll get it", nil),
nil];
NSInteger usedSloganIndex = (int)days % [sloganArray count];
NSString *slogan = [sloganArray objectAtIndex:usedSloganIndex];
NSLog(@"Slogan: %@", slogan);
}
- (void)applicationSignificantTimeChange:(UIApplication *)application {
[self updateLabelForDate:[NSDate date]];
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[self.window addSubview:viewController.view];
[self.window makeKeyAndVisible];
[self updateLabelForDate:[NSDate date]];
// the following is there to prove that this code works.
NSDate *date = [NSDate date];
for (int i = 0; i < 10; i++) {
NSLog(@"Date: %@", date);
[self updateLabelForDate:date];
date = [date dateByAddingTimeInterval:(60*60*24)];
}
return YES;
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
[self updateLabelForDate:[NSDate date]];
}
在關閉應用程序時,不應該更新顯示元素。爲什麼不等到它被打開,檢查當前時間,並相應地設置標籤? – Justin 2010-11-10 21:22:16
我需要一句話來改變每一天。如果我說每天午夜需要改變一個短語,那麼應用程序是否有更新?如果用戶錯過了幾個晚上,我需要它跳到正確的短語。 – BasicApp 2010-11-10 21:30:38
想想你如何寫一個網站來做同樣的事情。我懷疑你保持一個進程只是每12小時更新一次字符串。相反,您可能會根據當前日期和時間確定正確的短語。 – Justin 2010-11-10 21:32:32