前提・実現したいこと
foreachを二重にした中でonCommitを使ったTextFieldを2つ使うとビルドできなくなってしまいます。ただし、2つのうちいずれか片方のTextFieldのUserDefaults.standard.setを除けば正常にビルドできます。
ネストしたforeachをもう一つ用意してそれぞれに一つずつTextFieldを置くことでも解決できますが、レイアウト上不都合なので一つのネストの中で実現したいです。
該当のソースコード
Swift
1HStack{ 2 ForEach(0..<5){i in 3 VStack{ 4 ForEach(0..<5) {j in 5 TextField("",text: self.$lectures[i][j].name, onCommit: {UserDefaults.standard.set(self.lectures[j][i].name, forKey: self.lectures[j][i].key_name)}) 6 TextField("",text: self.$lectures[i][j].room, onCommit: {UserDefaults.standard.set(self.lectures[j][i].room, forKey: self.lectures[j][i].key_room) 7 } 8 } 9 } 10} 11
試したこと
いずれか片方のUserDefaults.standard.setを除けば正常に動作することを確認しました。
ネストしたforeachを2つ用意してそれぞれに1つずつ置けば動作することを確認しました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/05 07:26