В вашем коде никогда не должно быть выделенного кода. Вы должны распределить и инициализировать вместе, как это:
NSArray *viewControllers = [[NSArray alloc] initWithObjects:..];
nomTab1 = [[NSString alloc] initWithSomeValue:...];
NSArrays и NStrings являются неизменяемыми, поэтому они не имеют никакого значения до тех пор, пока они не будут инициализированы (возможно, поэтому они кажутся пустыми при обращении к ним), и их нельзя изменить после инициализации.
Если вы планируете установить их значения позже, либо установите для них значение nil, а затем установите их для объекта, как только вы узнаете, что они из себя представляют, или используйте NSMutableArray и NSMutableString, которые можно изменить после их создания.