0
我需要創建一個循環,檢測24小時過後,我的日曆上的數字從1更改爲2,然後2更改爲3 ...一直到31.所以當它是31時它說31。數字在我的標籤欄符號上,並且我使用石英繪製了數字,因此數字不是整數,而是寫入數字的nsstring。顯示的數字是6,當它應該是今天的日期17.不知道我錯了哪裏?日期改變時需要顯示日期的數字嗎?
這是到目前爲止我的代碼:
- (void)updateLabelForDate:(NSDate *)date {
NSTimeInterval timeInterval = [date timeIntervalSinceReferenceDate];
NSInteger days = timeInterval/(60*60*24);
NSArray *sloganArray = [NSArray arrayWithObjects:
NSLocalizedString(@"1", nil),
NSLocalizedString(@"2", nil),
NSLocalizedString(@"3", nil),
NSLocalizedString(@"4", nil),
NSLocalizedString(@"5", nil),
NSLocalizedString(@"6", nil),
NSLocalizedString(@"7", nil),
NSLocalizedString(@"8", nil),
NSLocalizedString(@"9", nil),
NSLocalizedString(@"10", nil),
NSLocalizedString(@"11", nil),
NSLocalizedString(@"12", nil),
NSLocalizedString(@"13", nil),
NSLocalizedString(@"14", nil),
NSLocalizedString(@"15", nil),
NSLocalizedString(@"16", nil),
NSLocalizedString(@"17", nil),
NSLocalizedString(@"18", nil),
NSLocalizedString(@"19", nil),
NSLocalizedString(@"20", nil),
NSLocalizedString(@"21", nil),
NSLocalizedString(@"22", nil),
NSLocalizedString(@"23", nil),
NSLocalizedString(@"24", nil),
NSLocalizedString(@"25", nil),
NSLocalizedString(@"26", nil),
NSLocalizedString(@"27", nil),
NSLocalizedString(@"28", nil),
NSLocalizedString(@"29", nil),
NSLocalizedString(@"30", nil),
NSLocalizedString(@"31", nil),
nil];
NSInteger usedSloganIndex = (int)days % [sloganArray count];
slogan = [sloganArray objectAtIndex:usedSloganIndex];
NSLog(@"Slogan: %@", slogan);
NSLog(@"%i",usedSloganIndex);
int x,y,width,height;
x = 23;
y = 440;
width = 20;
height = 20;
CustomBadge *customBadge1 = [CustomBadge customBadgeWithString:slogan];
- (void)applicationSignificantTimeChange:(UIApplication *)application {
[self updateLabelForDate:[NSDate date]];
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
[self updateLabelForDate:[NSDate date]];
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
// Add the tab bar controller's view to the window and display.
[window addSubview:tabBarController.view];
[self addTabBarArrow];
[window makeKeyAndVisible];
[self updateLabelForDate:[NSDate date]];
return YES;
}
感謝
我已更新我的問題 – Dangermouse
如果你想要今天的日期,你可以使用'NSDateComponents'。你所做的數學與當前日期無關。您已將秒數除以一天中的秒數,然後將其取爲模31。這個數字與有意義的公曆日期沒有關係。這甚至不是一個月的平均天數。 –