iPad Replace Segue — Could not find a split view controller ancestor
-
06-12-2019 - |
题
I've connected a bunch of navigation controllers to my UISplitViewController to replace the detail view, however when I do I get this error
'Could not find a split view controller ancestor for '<UISplitViewController: 0x6a52f50>',
while performing a split view controller replace segue (identifier 'Queue') with
destination '<UINavigationController: 0x6870ff0>''
And I can usually guess what's going on from these internal inconsistencies but this one I literally have no idea -- any help is much appreciated!
Thanks!
解决方案
Examine the sequence of segues leading into the source scene. If it doesn't contain a split view controller in the mix, you've found your problem. Replace segues can only be used in scenes that are presented in the context of a split view controller.
其他提示
I ran into this issue and all my segues were fine, no code was interfering. Turns out the problem was in the master view controller:
@property (strong, nonatomic) UISplitViewController *splitViewController;
The property had become unused and something was trying to use it while it was nil
. Simply removing it did the trick.