SwiftUIでNavigationLinkがクラッシュする - Tried to pop to a view controller that doesn't exist

開発

タグ SwiftUI NavigationLink PageView

SwiftUIで、公式チュートリアルで紹介されているPageViewの中にNavigationLinkを入れて、プッシュ遷移した後に戻るボタンでポップすると、Tried to pop to a view controller that doesn't exist というエラーが発生してクラッシュしてしまいました。

環境はXcode11.2.1でiOS13.2.2のシミュレータで実行しています。

UINavigationControllerが元のViewControllerにポップできていないようです。

PageViewが毎回新しいViewControllerを生成するのが原因でしょうか。

ググってみると同じようなエラーにぶつかっている人もいるみたいです。Xcode11.0では動いていたので、iOSのバグ、という可能性もあります。

SwiftUI - NavigationLink inside NavigationBarItems, returns error on navigating from detail back to master view

TabViewが原因で発生する場合もあるようですが、私はPageViewが原因でした。

Tried to pop to a view controller that doesn’t exist in SwiftUI

解決方法はまだ見つかっていませんが、見つかったら紹介します。


オススメ記事