The issue here is that your label is not actually visual yet, so changing the text does nothing. One way you can get around this is to have a string property in your controller and set that:
self.controller.textForLabel = @"My text";
Then in your viewWillAppear:
in your controller's .m you can set the text:
[self setText:self.textForLabel];