Это идеальная работа для делегатов.В вашем интерфейсе контроллера вида входа в систему (обратите внимание, что я пишу это с головы до головы, так что может быть несколько опечаток / пропущенные точки с запятой и т. Д .:
@protocol LoginControlDelegate <NSObject>
- (void)loginDidSucceed:(BOOL)success
@end
@interface ...
{
...
}
@property (nonatomic, assign) id<LoginControlDelegate> delegate;
@end
А затем в вашем файле реализации,После того как вы установили, что веб-служба ответила на запрос входа в систему, вы можете позвонить:
if (self.delegate != nil)
{self.delegate loginDidSucceed:<YES/NO depending on the webservice response>]
Таким образом, каждый раз, когда вы создаете экземпляр вашего контроллера представления входа в систему, вы можете назначить «родительский» контроллер представления какделегат и затем соответствует <LoginControlDelegate>
путем реализации метода loginDidSucceed:
LoginViewController *vc = [[LoginViewController alloc] init....];
vc.delegate = self;
[self presentModalViewController:vc animated:YES];
[vc release];
и метода loginDidSucceed:
- (void)loginDidSucceed:(BOOL)success
{
if (success)
// Logged in successfully, push the appropriate view
} else {
// Login failed...
}