2013-06-27 102 views
0

我有一个标签,我想每天自动更新?在某些特定的时间。代码如何?我已经搜索了每天如何更新标签的地方。每天用新文本更新标签

NSdate和NStimer标签工作。如果用户想查看转发事件,还可以使用日期选择器。

我认为这是有东西,“如果”的日期是..}其他{...和类似的东西

感谢

编辑:

如果我已经有了这些代码在我的应用程序然后会出现错误

NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init]; 


NSDate *nowDate = [NSDate date]; 

self.currentDateLabel.text = [dateFormatter stringFromDate:nowDate]; 
+0

嘿,你shouldnot张贴重复的问题。你昨天发布了同样的问题没有?最佳做法是将相同的问题编辑为合适的表单。 – prince

+0

我已经编辑它,但它处于暂停状态,所以没有人看到它。对不起 – user2310932

回答

0

尝试此代码的日期之间的任何比较...你不应该比较日期的形式的字符串。比较转换前的日期到字符串。通过指定dateString的确切日期格式,使用格式化程序的dateFromString函数将self.serverDate转换为日期格式。然后使用以下函数比较日期。

-(void) callAfterSixtySecond:(NSTimer*) t 
{ 

NSDate *today = [NSDate date]; // current date 
NSDate *newDate = self.serverDate; // other date 

NSDateFormatter *formatter = [[NSDateFormatter alloc]init]; 
[formatter setDateFormat:@"HH:mm"]; 
NSDate *todayTime = [formatter dateFromString:[formatter stringFromDate:today]]; 
NSDate *requiredTime = [formatter dateFromString:[formatter stringFromDate:newDate]]; 

NSComparisonResult result; 

result = [todayTime compare:requiredTime ]; // comparing two dates 

if(result == NSOrderedAscending) 
    NSLog(@"today is less"); 
else if(result == NSOrderedDescending) 
    NSLog(@"newDate is less"); 
else if(result == NSOrderedSame) 
    NSLog(@"Both dates are same"); // time has reached. Update Label using setText method of label 
else 
    NSLog(@"Date cannot be compared"); 
} 

您将需要运行这个方法使用一个NSTimer每分钟......

NSTimer* myTimer = [NSTimer scheduledTimerWithTimeInterval: 60.0 target: self 
            selector: @selector(callAfterSixtySecond:) userInfo: nil repeats: YES]; 
+0

这将工作在一年(每天新标签的文本? – user2310932

+0

是的,它会......尝试改变你的设备的时间和检查。还要确保你想要比较的固定日期是在格式“HH:mm”即24小时格式,否则你将需要匹配相应的格式。 – prince

+0

它将如何与我的代码一起工作?tjek above .. – user2310932