title: iOS: Access Storyboard TabBar ViewController from another Class
body: <p>I have the following problem:
  I created a iOS 5 SDK application with Storyboard that contains a TabBar and three ViewControllers.
  From another Class (Receiver.m) I want to access a UI Label on e.g. ThirdViewController.m which is one of the thee ViewControllers of the TabBar.</p>
  
  <p>In ThirdViewController.h i got</p>
  
  <pre><code>@interface ThirdViewController : UIViewController {
  }
  @property (weak, nonatomic) IBOutlet UILabel *textlabel1;
  @end
  </code></pre>
  
  <p>and in ThirdViewController.h:</p>
  
  <pre><code>@implementation ThirdViewController
  @synthesize textlabel1;
  ...
  </code></pre>
  
  <p>This seems OK, since i can set the label properties from within the ThirdViewController instance.
  Now to get access from within Receiver.m I use:</p>
  
  <pre><code>   UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:[NSBundle mainBundle]];
     ThirdViewController *myVC = [storyboard instantiateViewControllerWithIdentifier:@"ThirdViewController"];
     myVC.textlabel1.text = @"Hello"; 
  </code></pre>
  
  <p>This does not work. I do not want to create a new instance of ThirdViewController but access the existing one to update just the UILabel. My Storyboard in Project Navigator is default named MainStoryboard.storyboard .
  Am I doing something wrong here with getting the ThirdViewController classes instance?</p>
  
  <p>The error says:</p>
  
  <pre><code>*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 
  'Storyboard (&lt;UIStoryboard: 0x190590&gt;) doesn't contain a view controller with 
  identifier 'ThirdViewController''
  </code></pre>
  
  <p>Thanks!</p>