Can anybody say me how to save NSTimer ? I need to display that, at how much time player completed his/her game. please suggest.
Thanks.
Can anybody say me how to save NSTimer ? I need to display that, at how much time player completed his/her game. please suggest.
Thanks.
you can do like this way..
int currentTime;
BOOL isGameOver;
- (void)viewWillAppear:(BOOL)animated
{
isGameOver=FALSE;
[self start];
[super viewWillAppear:YES];
}
- (IBAction)start{
currentTime = 0;// SET 60 SECODE AS STATICULLY YOU CAN SET YOUR OWN TIME
lbl=[[UILabel alloc]init];
//creates and fires timer every second
myTimer = [[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(showTime) userInfo:nil repeats:YES]retain];
}
-(IBAction)gameOverAction
{
isGameOver=TRUE;
//your game action Whenever its game over this method fire and Set One Bool value in this method like
}
-(void)showTime{
if(isGameOver==TRUE)
{
[myTimer invalidate];
myTimer = nil;
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Game Over"
message:[NSString stringWithFormat:@"Your Rount Time is %.2d", currentTime]
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
[alert release];
//you can save this [NSString stringWithFormat:@"Your Rount Time is %.2d", currentTime] in nsuserdefoult or database like bellow
NSString *myGameLastTime =[NSString stringWithFormat:@"Your Rount Time is %.2d", currentTime] ;
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:myGameLastTime forKey:@"gameoverTime"];
[defaults synchronize];
//now you can get this time anyplace in your project like [[NSUserDefaults standardUserDefaults] valueForKey:@"gameoverTime"]
}
currentTime++;
lbl.text = [NSString stringWithFormat:@"%.2d", currentTime];
NSLog(@"my lable == %@",lbl.text);
}
Hope its help you all the best
You don't need to use NSTimer
. I suggest you using NSDate
When the game starts:
startDate = [NSDate date];
when the game is over:
endDate = [NSDate date];
NSTimeInterval interval = [endDate timeIntervalSinceDate:startDate];
so now you have time spent and can use it however you like. You can save it in NSUserDefaults
just like ordinary double
value
U should do some research before ask such questions, its easy to figure it out with google, it will take something like 20 min max,
NSUserDefaults *YourTimerName=[NSUserDefaults standardUserDefaults];
[defaultsPassword setObject:YourTimerName forKey:@"key1"];
[defaultsPassword synchronize];
and then u can recover it like that
Nsstring *str=[[NSUserDefaults standardUserDefaults]objectForKey:@"key1"];
but you need to make your timer Nsstring format firstly and then save it
NSTimer
is just a source of periodic time events, there’s not much to save. If you use it to keep track of time in your game, there has to be a variable that keeps the total time. Save that into NSUserDefaults
or somewhere.