To set the title correctly:
[loginButton setTitle:@"Log Out" forState:UIControlStateNormal];
edit: If you are looking to update view states after a change from the AppDelegate, it would be a good idea to look at using NSNotifcationCenter. In the app delegate, you can post a notification about the user logging in or out, and then you can configure your viewController to be an observer for the notification and update its state when the notification is made.
For example, in your app delegate
- (void)userDidLogOut
{
//This method would be called when you logout
[[NSNotificationCenter defaultCenter] postNotificationName:@"didLogoutNotification" object:nil];
}
Then in your loginViewController
- (void)viewDidLoad
{
//...
//Become an observer of `didLogoutNotification`.
[[NSNoficationCenter defaultCenter] addObserver:self selector:@selector(didLogoutNotification:) name:@"didLogoutNotification" object:nil];
}
- (void)dealloc
{
//...
//Remove yourself from the observation list.
[[NSNoficationCenter defaultCenter] removeObserver:self];
}
- (void)didLogoutNotification:(NSNotification *)notification
{
//...
//Update the button
[loginButton setTitle:@"Log In" forState:UIControlStateNormal];
}