iphone app时间计数器

时间:2010-06-15 04:34:56

标签: iphone

我想在我的应用中创建一个时间计数器,向用户显示应用运行当前会话的时间和总计。如何创建此类时间计数器以及如何将值保存到手机中?我是应用开发的新手。

2 个答案:

答案 0 :(得分:3)

您可以使用NSDateNSDateFormatter类。

以下是一个例子:

在.m文件中声明一个NSDate实例:

@implementation MyClass 

NSDate *startDate;
BOOL stopTimer = NO;
//...    

-(void) showElapsedTime: (NSTimer *) timer {
    if(!startDate) {
        startDate = [NSDate date]; 
    }
    NSTimeInterval timeSinceStart = [[NSDate date] timeIntervalSinceDate:startDate];
    NSDate *newDate = [[NSDate alloc] initWithTimeInterval:timeSinceStart sinceDate:startDate];
    NSString *dateString = [NSDateFormatter localizedStringFromDate:newDate dateStyle: NSDateFormatterNoStyle timeStyle: NSDateFormatterShortStyle];


    //do something with dateString....

    if(stopTimer) {//base case
       [timer invalidate];
    }
    [newDate release];
}

- (void) startPolling {
    [NSTimer scheduledTimerWithTimeInterval:0.09f target:self selector:@selector(showElapsedTime:) userInfo:nil repeats:YES];
}

//...

@end

答案 1 :(得分:2)

在iPhone上,您可以使用API​​ CFAbsoluteTimeGetCurrent()获取当前日期和时间的数值。您可以调用两次并相互减去两个数字,以获得这些调用之间经过的时间。然后,您可以保存程序执行之间经过的时间,以节省用户运行程序的总时间。