last resort this as I cannot for the life of me work it out!
I am setting a date when my app is closed (using applicationWillTerminate) in user defaults
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSDate *timeClosed = [[NSDate alloc] init];
[defaults setObject: timeClosed forKey:@"svdTimeClosedApp"];
then when the app is launched, I want to compare this time using
NSDate *timeSaved = svdTimeClosedApp;
NSDate *timeNow = [[NSDate alloc] init];
double timeInterval = [timeSaved timeIntervalSinceDate:timeNow];
NSLog(@"time now = %@, time saved = %@, time diff = %@", timeNow, timeSaved, [NSString stringWithFormat:@"%d",timeInterval]);
I tried to output this to the log window expecting to see a nicely formatted string of around 20 seconds. Trouble is, it's coming out as 2047868928!
Any ideas?!
(output of the log window below)
time now = 2009-12-19 20:54:02 +0000, time saved = 2009-12-19 20:48:29 +0000, time diff = 2047868928
Thanks for any help!
there are a couple of issues. First, in your stringWithFormat:
you want to use %g, not %d, %d is for integer values. Also, you should do [timeNow timeIntervalSinceDate:timeSaved]
your current call will give you a negative value.