ビルドするとエラーが生じます。

実現したいこと

Simulatorで動作確認をしたい。

発生している問題・分からないこと

Xcode にてSimulator(iphone 15 Pro(17.4))の環境でビルドをしたところ以下のようなエラーが生じました。
下記の箇所でエラーメッセージが出たので、Environmentの操作で間違った操作をしているのかなとも思っているのですが、解決方法がわかりません。
XcodeのPreviewでは問題なく動くのですが、Simulatorで確認するとエラーが生じる理由がわかっていません。この謎をわからる方がいたら教えていただけると幸いです。

Swift

1ForEach(vm.MemberNameList)``` 2 3### エラーメッセージ 4```error 5SwiftUI/EnvironmentObject.swift:90: Fatal error: No ObservableObject of type UserData found. A View.environmentObject(_:) for UserData may be missing as an ancestor of this view.

該当のソースコード

Swift

1//モデル2struct UserName: Identifiable {3 var id = UUID() // 一意の識別子4 var name: String5 var color: Color // 各ユーザーの色6}

swift

1//Publishの宣言2class UserData: ObservableObject {3 @Published var MemberNameList: [UserName] = []4 5 func addNameList(addName: String) {6 let newMember = UserName(name: addName,color: randomColor())7 MemberNameList.append(newMember)8 }9 10 func rowRemove(at offsets: IndexSet) {11 MemberNameList.remove(atOffsets: offsets)12 }13 14 private func randomColor() -> Color {15 let colors: [Color] = [.red, .blue, .green, .yellow, .purple, .orange, .pink, .teal, .indigo, .cyan]16//colorsに値が入っていない場合は強制的に黒色になる。17 return colors.randomElement() ?? .black 18 }19}

swift

1struct ContentView: View {2 @State var showSheet = false3 @EnvironmentObject var vm: UserData4 5 var body: some View {6 ZStack{7 VStack(spacing: 0) {8 // navigationAreaをVStackの一部として配置9 navigationArea 10 // 水平方向のスクロールビュー11// アイコンエリア12 ScrollView(.horizontal, showsIndicators: false) {13 HStack {14 ForEach(vm.MemberNameList) { user in15//上記の箇所でエラーが生じたと出ました。16 Circle()17 .frame(width: 60, height: 60)18 .foregroundColor(user.color)19 .overlay(20 Text(String(user.name.prefix(1)))21 .font(.title)22 .foregroundColor(.black)23 .bold()24 )25 .padding()26 }27 }28 }29 // inputAreaをさらに下に配置30 inputArea 31 }32// AddmemberAlertView(nameItem: nameItem)33 // 画面の下部中央に配置34 calculateButton 35 }36 }37 }38 39 40#Preview {41 ContentView()42 //プレビューに環境オブジェクトを設定43 .environmentObject(UserData())44}

試したこと・調べたこと

上記の詳細・結果

Xcode 内のPreviewではエラーが出ず画面が表示されたので、コード自体ではなくXcode内のアプリのエラーだと思い再起動とパソコン自体の再起動したのですが、エラーは治らず。

補足

Xcode 15.4

コメントを投稿

0 コメント