I found the cause of this error.
If your view controller needs to support force preview, you need to register this view controller with a delegate by calling
- (id <UIViewControllerPreviewing>)registerForPreviewingWithDelegate:(id<UIViewControllerPreviewingDelegate>)delegate sourceView:(UIView *)sourceView NS_AVAILABLE_IOS(9_0);
to do this.
I just suddenly call this function twice (once in the superclass' viewDidLoad() , once in the subview controller), and when I delete once in my subview controller, this error is fixed! Amazing ...
This is still Apple's error, as it does not make any difference to this. However, I wish this answer helps developers who have the same problem with me.
Fyi. I am just looking through your Github code, did not find double calls for the register method. Maybe there is another reason for this error. You can try to remove the register method in your subclass of UITableViewController . By the way, I reproduce this problem when the view controller uses ComponentKit.
kimimaro
source share