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

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


オススメ記事

運営者プロフィール
masamichiueta
MasamichiUeta

ソフトウェアエンジニアです。ソフトウェアエンジニアリング、アプリ開発、ブロックチェーン、家族、ガジェット、Apple関係のことについて書いています。