当帖子在 ios 中发布时,我如何保持 UILabel 随时间推移而更新 ..如果 > 它刚刚发布,它应该说 0s,随着时间的推移,它会变为 >1min,2min...1hr,2hr.. .1day 等在 ios 我是 ios 开发的新手 感谢您的帮助!
问问题
491 次
3 回答
1
如果我正确理解您的问题,您需要为此目的使用NSTimer 。
于 2013-10-02T13:46:40.597 回答
1
在 iOS 中,定期做一些事情是很容易的。
在您的主要代码中:
[NSTimer scheduledTimerWithTimeInterval: 1.0
target: self
selector: @selector(doSomething:)
userInfo: nil
repeats: YES];
然后添加 doSomething 方法:
- (void)doSomething:(NSTimer *)timer {
NSLog(@"We did it!");
}
于 2013-10-02T13:50:40.327 回答
1
首先,您需要保留用户发布的日期。您可以使用以下方法轻松做到这一点:
NSDate* postedDate = [NSDate now];
比如果你想找到从那个时间剩下的几秒钟,你可以使用:
NSTimeInterval timeDiff = [[NSDate date] timeIntervalSinceDate:postedDate];
这使您从发布日期开始几秒钟 - 您需要格式化输出。
为了保持标签自身更新,您应该使用 NSTimer:
[NSTimer scheduledTimerWithTimeInterval: 1.0f
target: self
selector: @selector(updateLabel:)
userInfo: nil
repeats: YES];
updateLabel 会将“timeDiff”格式化为人类可读的格式,例如 1 分钟/天等...
于 2013-10-02T13:51:41.300 回答