Вам не нужна глобальная переменная для совместного использования состояния между контроллерами представления, и это очень плохая практика - скрывать зависимость таким образом.
Сделайте это явным с помощью внедрения зависимостей и передайте этот объект от одного VC к другому по мере навигации.
SecondViewController *viewController = [[SecondViewController alloc] init];
viewController.user = self.user; // Pass the user along...
[self presentViewController:viewController animated:YES completion:nil];
Вы можете сделать то же самое с segues, передать свой объект в методе prepareForSegue
.