需要显示日期更改日期的数字?

时间:2011-07-17 18:01:25

标签: iphone xcode loops for-loop nested-loops

我需要创建一个循环来检测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;

}

由于

1 个答案:

答案 0 :(得分:2)

通过在应用程序委托中实施applicationSignificantTimeChange:,可以在日期更改时收到通知。检查its documentation是否会调用它,但它包含您几乎肯定想要的时间。