最近、SwiftUIの学習をしていて、謎の挙動に悩まされていました。
Xcode11.3のシミュレータ挙動がおかしい
結論から言うとシミュレータのバグであって、自分のコードには何ら問題がなかったわけです。
私が確認している限りですが、List表示の要素を2回連続でクリックすると画面遷移出来ないという現象がありました。
↓現象
一応コードも貼っておきます。
struct ContentView: View {
    let countries = [
        "Japan",
        "U.S.A",
        "China",
        "U.K"
    ]
    
    let capitals: Dictionary = [
        "Japan" : "Tokyo",
        "U.S.A" : "Washington, D.C.",
        "China" : "Beijing",
        "U.K" : "London"
    ]
    
    var body: some View {
        NavigationView {
            List(countries, id: \.self) { country in
                NavigationLink(destination: DetailView(country: self.capitals[country] ?? "")) {
                    Text(country)
                }
            }
        }
    }
}調べてみてもよくわからなかったので、SwiftUIのチュートリアルを実行してみたところ、全く同じ現象が確認出来ました。
で結局、実機で試したところ、同現象は発生しませんでした。
その後、こちらの記事によるとXcode11.3のバグのようで2020/1/27時点では解消されていません。
実機が無い方は、Xcode11.2を利用するか、実機を買うしかない状況です。
以上





コメントを残す