我已经看到了一些关于此的问题,但没有一个可以帮助我解决此问题。
我有一个 MasterViewController -> AViewController -> BViewController
文档说:
呈现视图控制器负责关闭它呈现的视图控制器。但是,如果您在呈现的视图控制器本身上调用此方法,它会自动将消息转发到呈现的视图控制器。
[self.presentingViewController dismissModalViewControllerAnimated: YES];
从我的 B VC 调用此方法,应该关闭我的 A 和 B VC。然而,它只会解雇孩子(B VC)。为什么?
- (IBAction)checkButton:(UIButton *)sender {
NSManagedObjectContext * context = [myAppDelegate managedObjectContext];
Work * newWork = [NSEntityDescription insertNewObjectForEntityForName:@"Work" inManagedObjectContext:context];
[newWork setName:_workName];
[myAppDelegate saveContext];
NSLog(@"%@", [self.presentingViewController description]);
[self.presentingViewController dismissModalViewControllerAnimated: YES];
}
我不知道这是否相关,但是 A 和 B VC 的呈现方式如下:
TWWorkNameViewController *controller = (TWWorkNameViewController *)[self.storyboard instantiateViewControllerWithIdentifier:@"WorkName"];
[self presentViewController:controller animated:YES completion:nil];