struct ContentView: View {
   @State private var appData = ApplicationData.shared
   @State private var sort = [KeyPathComparator(\ConsumableItem.name)]

   var body: some View {
      Table(appData.listOfItems, sortOrder: $sort) {
         TableColumn("Name") { item in
            Text("\(item.name)")
         }
         TableColumn("Category") { item in
            Text("\(item.category)")
         }
         TableColumn("Calories", value: \.calories) { item in
            Text("\(item.calories)")
         }.width(100)
      }
      .padding(20)
      .onChange(of: sort) {
         appData.listOfItems.sort(using: sort)
      }
   }
}