我展示了作为导航控制器的模态视图:
UINavigationController *nvc = [[UINavigationController alloc] initWithRootViewController:photoEditVC];
[self presentViewController:nvc animated:YES completion:NULL];
一旦我完成了模态视图,在 nvc 的可见控制器中:
[self.presentingViewController dismissViewControllerAnimated:YES completion:NULL];
结果
任何想法为什么会发生这种情况?
更新:我意识到这只发生在关闭视图之前,我更新了共享单例类中的值,我用它来跟踪事件。
[[SAStatus current] setValue:@(ua_photoSubmitted) forKeyPath:@"actions.user"];
[self dismissViewControllerAnimated:YES completion:NULL];
但如果我这样做,它工作正常:
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
[[SAStatus current] setValue:@(ua_photoSubmitted) forKeyPath:@"actions.user"];
}];
或者我可以这样做,它也可以正常工作:
[self dismissViewControllerAnimated:YES completion:^{
[[SAStatus current] setValue:@(ua_photoSubmitted) forKeyPath:@"actions.user"];
}];
当时,没有其他类观察该变量,所以我不明白为什么它会影响模态视图。