我有一个自定义的UITableViewController子类,当全屏转换(远离具有TableView作为子视图的视图)时,会以奇怪的顺序调用它的viewWillAppear .

因此,如果我进行全屏转换,而两个屏幕都有自定义UITableViewController,则会发生以下情况:

1 -viewWillDisappear (oldTableViewController)

2 -viewWillAppear (oldTableViewController)

3 -viewWillAppear (newTableViewController)

4 -viewWillDisappear (oldTableViewController)

所以基本上,当viewWillDisappear只被调用一次时,它调用会消失,出现,消失在刚从屏幕上消失的viewController上 . 这导致了问题,我仍然不知道如何以及为什么会发生这种情况 . 我检查了各种addSubview调用等,但这里没有发生这样的事情 .

这是神秘和错误的viewWillAppear调用的堆栈跟踪,是否有人知道它来自何处以及如何避免它?

enter image description here