Я бы не использовал шаблон синглтона или любую другую «глобальную переменную».Это сделает ваши контроллеры вида очень тесно связанными и ограничит возможность повторного использования.Я бы просто создал переменную экземпляра во втором контроллере представления и установил ее в главном перед представлением представления.
Затем второй контроллер представления устанавливает label.text для переменной экземпляра в (например) viewDidLoad.
Таким образом, контроллер второго представления не зависит от каких-либо глобальных переменных или включает в себя и будет более пригоден для повторного использования.
//SecondViewController.h
@interface SecondViewController : UIViewController {
NSString *theLabel;
}
@property(nonatomic, copy) NSString *theLabel; //Synthesize in implementation
@end
Затем в контроллере основного представления:
//Create instance of secondViewController
instanceOfSecondViewController.theLabel = @"Nut";
//Present the second view here