Label not updating when passing string between tabs in UITabViewController
===

I am a beginner of iOS and I am writing some practice code in which I am trying to pass a string from one tab to another in a `UITabViewController` and using a label to display it in the next tab. Now the code where I am passing the message is:

    -(IBAction)sendMessage:(id)sender
    {
        MessageRecepientViewController * contoller = [self.tabBarController.viewControllers objectAtIndex:1];
        [contoller passString:_textField.text];
        self.tabBarController.selectedIndex = 1;
    }

And I am receiving the text here (in the second view controller) as:

    -(void) passString:(NSString *) str
    {
        _string = str;
    }

And in `viewDidAppear`, i am doing this:

    - (void) viewDidAppear:(BOOL)animated
    {
        self.textLabel.text = [NSString stringWithString:_string];
        NSLog(@"did appear called, str = %@ and label text = %@", _string, self.textLabel.text);
    }

and the log is showing that the value of the string is the passed text as it should be, but the value of textLabel.text is always null.

I have tried everything I could think of from checking that the UILabel is attached to the `textLabel` outlet to writing the code in viewWillAppear and viewDidLoad but nothing have worked so far. The string is showing the correct value but the label is not updating. What is wrong here?