Oh I see. That's unfortunate but I can work around it by comparing the title property values. Thanks a ton for all your help. btw I changed the ObservableObjects to use generics. It doesn't seem to have an effect on functionality-wise. Everything works ok. However (this issue actually persisted before changing it to generics too), the SwiftUI preview for this view doesn't get rendered. swift class MenuViewObservableT: MenuItem: ObservableObject { var onButtonTap: ((MenuItem) - Void) = { _ in } } struct UserTypeMenuView: View { @ObservedObject var observable: MenuViewObservableMenu.UserType private let columns = [ GridItem(.flexible(), spacing: 20), GridItem(.flexible(), spacing: 20) ] var body: some View { ScrollView { LazyVGrid(columns: columns, spacing: 20) { ForEach(Menu.UserType.allCases, id: .self) { item in MenuButtonMenu.UserType(item: item, action: observable.onButtonTap) } } .padding(.horizontal) .padding([.top, .bottom], 20) } } } struct UserTypeMenuView_Previews: PreviewP
Topic:
UI Frameworks
SubTopic:
SwiftUI
Tags: