ここでエラーが発生 - selectedTab = tab.getTab()
致命的なエラー: SelectedTab タイプの ObservableObject が見つかりません。SelectedTab の View.environmentObject(_:) が、このビューの祖先として欠落している可能性があります。
これも試してみました - https://www.hackingwithswift.com/forums/swiftui/fatal-error-no-observableobject-of-type-order-found/3208
class SelectedTab: ObservableObject {
@Published var tab:String = "Home"
func setTab(tabName: String) {
tab = tabName
}
func getTab() -> String {
return tab
}
}
struct TabBarContentView: View {
@EnvironmentObject var tab: SelectedTab
var body: some View {
Home().environmentObject(tab)
}
}
struct TabBarContentView_Previews: PreviewProvider {
static var previews: some View {
Group {
TabBarContentView()
.previewDevice(PreviewDevice(rawValue: "iPhone 12 Pro Max"))
.previewDisplayName("iPhone 12 Pro Max")
}
}
}
struct Home: View {
@EnvironmentObject var tab: SelectedTab
@State var selectedTab = "Home"
init() {
UITabBar.appearance().isHidden = true
selectedTab = tab.getTab()
}
var body: some View{
NavigationView() {
ZStack(alignment: .bottom, content: {
TabView(selection: $selectedTab){
HomeTab()
NewsTab()
ProfileTab()
MoreTab()
}
}
}
}
}