問題
swiftUIを利用しています。
NavigationLinkで遷移した先の画面のonAppear内でListの要素を増減すると
画面遷移の際にエラーが発生します。
しかし、NavigationLink以外ではonAppear内でListの要素を増減しても正しく動作します。
訂正)sheetなどのビューでも上手くいきませんでした。
ルートビューでのonAppearのみエラーが発生しませんでした。
どのように対処すべきなのでしょうか。
発生している問題・エラーメッセージ
2020-01-21 23:43:38.323551+0900 test[55502:13062970] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'attempt to delete section 0, but there are only 0 sections before the update'
該当のソースコード
swift
1struct ContentView: View { 2 var body: some View { 3 NavigationView { 4 NavigationLink(destination: push()) { 5 Text("テスト") 6 } 7 } 8 } 9} 10 11struct push:View { 12 @State private var test:Bool = true 13 14 var body: some View { 15 List { 16 if test == true { 17 Text("テスト2") 18 } 19 }.onAppear { 20 self.test = false 21 } 22 } 23}
試したこと
遅延処理を入れた場合にエラーは発生しませんでした。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/31 00:32