-5

当帖子在 ios 中发布时,我如何保持 UILabel 随时间推移而更新 ..如果 > 它刚刚发布,它应该说 0s,随着时间的推移,它会变为 >1min,2min...1hr,2hr.. .1day 等在 ios 我是 ios 开发的新手 感谢您的帮助!

4

3 回答 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 回答