title: How do I properly use NSUserDefaults Class to bypass a View?
body: <p>I have a project in xcode that uses storyboards. The first view that loads is an "accept terms and conditions" view in which the user must click an accept button to proceed. After clicking it, it segues to the next view. After the user clicks accept the first time the program launches, I never want them to see that view again - I want it to go straight to the next view.  I have some code but its not working.  Here is what I have exactly:</p>
  
  <p>In app delegate: (inside applicationDidFinishLaunchingWithOptions)</p>
  
  <pre><code>if([[NSUserDefaults standardUserDefaults] boolForKey:@"TermsAccepted"]!=YES)
  {
      [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"TermsAccepted"];
  }
  </code></pre>
  
  <p>Inside the accept terms and conditions view implementation: (viewDidLoad)</p>
  
  <pre><code> if ([[NSUserDefaults standardUserDefaults] boolForKey:@"TermsAccepted"]){
      [self.navigationController pushViewController: self animated:YES];
      //I want it to go to the next screen
  }
      else {
          //I want to show this screen, but I don't know what goes here
  }
  </code></pre>
  
  <p>Also Inside the accept terms and conditions view implementation (in the accept button)</p>
  
  <pre><code> - (IBAction)acceptButton:(id)sender {
   [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"TermsAccepted"];
  }
  </code></pre>
  
  <p>I run it and get the error: 'Pushing the same view controller instance more than once is not supported'.  How do I fix this?</p>