如何重置视图控制器的值?

问题描述:

当我回到我的主窗口时,如何重置应用程序的值? 我有一个应用程序白色多个视图,最后一个窗口包含一个计时器和2个计数器,我第一次运行应用程序它很好,但是当我回到第一个窗口,并按照相同的步骤来到最后一个窗口,第一次的价值依然存在。我能做什么?如何重置视图控制器的值?

这是代码(最终窗口):

`enter code here` 
    // Created by MiniMac on 3/26/12. 
    // Copyright (c) 2012 __MyCompanyName__. All rights reserved. 
    // 

    #import "juegoAB.h" 
    #import "SwitchViewController.h" 

    @implementation juegoAB 
    @synthesize cronometro, button, Rounds; 

     int y = 0; 

     - (IBAction)buttonPressed: (id) sender { 
      y++; 
      if (y>10) y=10; 
       [self updateText]; 
     } 

     - (void)updateText { 
      switch (y) { 
       case 0: [Rounds setText:@"5."]; break; 
       case 1: [Rounds setText:@"5."]; break; 
       case 2: [Rounds setText:@"4."]; break; 
       case 3: [Rounds setText:@"4."]; break; 
       case 4: [Rounds setText:@"3."]; break; 
       case 5: [Rounds setText:@"3."]; break; 
       case 6: [Rounds setText:@"2."]; break; 
       case 7: [Rounds setText:@"2."]; break; 
       case 8: [Rounds setText:@"1."]; break; 
       case 9: [Rounds setText:@"1."]; break; 
       case 10: [Rounds setText:@"0."]; break; 
       default: break; 
      } 
     } 

     NSTimer *timer; int i; 

     -(IBAction)playsound { 
      NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:        
      @"%@/disparo04.WAV",[[NSBundle mainBundle] resourcePath]]];                      

      NSError *error; 
      audioplayer = [[AVAudioPlayer alloc]initWithContentsOfURL:url error:&error]; 
      audioplayer.numberOfLoops = 0; 
      if(audioplayer == nil) NSLog(@"%@",[error description]); 
      else [audioplayer play]; 
     } 

     -(IBAction)pressButton { 
      i = 11; 
      timer = [NSTimer scheduledTimerWithTimeInterval:1 
                target:self 
               selector:@selector(timerFires) 
               userInfo:nil 
                repeats:YES]; 
      [timer fire]; 
     } 

     - (void) timerFires{ 
      if(i > 0) { 
       i--; 
       cronometro.text = [NSString stringWithFormat:@"%i", i]; 
      } else { 
       cronometro.text = @"TIEMPO!!"; 
       timer = nil; 
      } 
     } 

     - (IBAction)onStopPressed: (id)sender { 
      [timer invalidate]; 
      timer = nil; 
     } 

     -(IBAction)generateNumbers { 
      int randomNumber = rand() % 26; 
      switch (randomNumber) { 
       case 0: 
        label.text = @"A"; 
        label1.text = @"Z"; 
        label2.text = @"Q"; 
        break; 
       case 1: 
        label.text = @"B"; 
        label1.text = @"Y"; 
        label2.text = @"W"; 
        break; 

     -(IBAction)plus { 
      counter=counter + 1; 
      count.text = [NSString stringWithFormat:@"%i",counter]; 
     } 

     -(IBAction)zero { 
      counter=counter - 1; 
      count.text = [NSString stringWithFormat:@"%i",counter]; 
     } 

     -(IBAction)plus2 { 
      counter2=counter2 + 1; 
      count2.text = [NSString stringWithFormat:@"%i",counter2]; 
     } 

     -(IBAction)zero2 { 
      counter2=counter2 - 1; 
      count2.text = [NSString stringWithFormat:@"%i",counter2]; 
     } 

     - (void)viewWillAppearBOOL)animated { 
      [super viewWillAppear:animated]; 
     } 

     - (id)initWithNibName:(NSString *)nibNameOrNil 
      bundleNSBundle:(NSString *)nibBundleOrNil {                       
      self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
      if (self) { 
       // Custom initialization 
      } 
      return self; 
     } 

     - (IBAction)goBack { 
      SwitchViewController *second = [[SwitchViewController alloc]  
              initWithNibName:nil bundle:nil]; 
      [self presentModalViewController:second animated:YES]; 
      [second release]; 
     } 

     - (void)dealloc { 
      [cronometro release]; 
      [button release]; 
      [Rounds release]; 
      [super dealloc]; 
     } 

     - (void)didReceiveMemoryWarning { 
      // Releases the view if it doesn't have a superview. 
      [super didReceiveMemoryWarning]; 

      // Release any cached data, images, etc that aren't in use. 
     } 

     #pragma mark - View lifecycle 

     - (void)viewDidLoad{ 
      [super viewDidLoad]; 
      // Do any additional setup after loading the view from its nib. 
     } 

     - (void)viewDidUnload { 
      [super viewDidUnload]; 
      // Release any retained subviews of the main view. 
      // e.g. self.myOutlet = nil; 
     } 

     - (BOOL)shouldAutorotateToInterfaceOrientationUIInterfaceOrientation)interfaceOrientation {       
      // Return YES for supported orientations 
      return (interfaceOrientation == UIInterfaceOrientationPortrait); 
     } 

     - (void)resetToOriginalState: (id)sender { 
      //Do your stuff here 
     } 

     @end 

有一个办法要回来我的第一个窗口,并重新设置应用程序,像第一次它的开放。

我希望任何人都可以帮忙... Thanx!

更改viewWillAppear中重置价值(这样的事情:)

- (void)viewWillAppearBOOL)animated {. 
     [super viewWillAppear:animated]; 
     counter = 0; 
     counter2 = 0; 
     timer = 0; 
    }