使用委托。
为您的 DetaliViewControler 创建一个协议,例如
@protocol DetailViewControllerDelegate <NSObject>
-(void)successFullyLoggedInOnController:(DetailViewController *) controller;
@end
向 DetailViewController 的界面添加委托声明,例如
@property (weak) id<DetailViewControllerDelegate> delegate;
使 MasterViewController 符合协议。
-(void)successFullyLoggedInOnController:(DetailViewController *) controller
{
[self.loginButton setHidden:YES];
}
现在就在 MasterViewController 显示 DetailViewController 之前,执行类似的操作
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"DetailViewSegue"]) {
DetailViewController *vc = segue.destinationViewController;
vc.delegate = self;
}
}
在 DetailViewController 中输入凭据并验证调用一次
[self.delegate successFullyLoggedInOnController:self];
并关闭 DetailViewController