Try using NSNumber
like so:
double myValue = 20.0;
NSNumber* number = [NSNumber numberWithDouble:myValue];
// Do something with NSNumber like write it to disk, put it in an array, dictionary whatever ....
// Then pull it back out
double myOldValue = [number doubleValue];
To pull a double value out after the app has been closed (I'm interpreting that to mean "backgrounded" or "suspended"), try writing it to NSUserDefaults
before the app is backgrounded and then pull it back out when your app resumes.
// Write a double to NSUserDefaults
[[NSUserDefaults standardUserDefaults] setDouble:myValue forKey:@"myDoubleValue"];
// Write an NSNumber to NSUserDefaults
[[NSUserDefaults standardUserDefaults] setObject:number forKey:@"myNumberWithDoubleValue"];
// Extract double from NSUserDefaults
double myReallyOldDoubleValue = [[NSUserDefaults standardUserDefaults] doubleForKey:@"myDoubleValue"];
// Extract NSNumber from NSUserDefaults
NSNumber* myReallyOldNumberValue = [[NSUserDefaults standardUserDefaults] objectForKey:@"myNumberWithDoubleValue"];
Or in your psuedo code:
NSNumber *someValue = [NSNumber numberWithDouble:0.0];
some kind of data here
looping code {
nslog(save number)
someValue = [NSNumber numberWithDouble:3.1412];
delete all data that has been stored
}
Store a pointer to your number or a instance variable
or class property