У меня есть WorkoutView, и ошибка возникает в «List (workouts, id: .id)». Ошибка «Type '_» не имеет члена «id». Вот представление:
struct WorkoutsView: View {
@State var presentBuilder = false
var workouts = WorkoutData.data()
var body: some View {
NavigationView {
List(workouts, id: \.id) { workout in
NavigationLink(destination: WorkoutDetailView()) {
WorkoutBlockView(name: workout.name, workoutLength: workout.length, amountCompleted: workout.completed())
}
}
.navigationBarItems(leading:
Button(action: {
self.presentBuilder.toggle()
}, label: {
ZStack {
Circle()
.foregroundColor(.blue)
.frame(width: 30, height: 30)
.shadow(radius: 7.0)
Image("add")
.foregroundColor(.black)
}
})
)
}.sheet(isPresented: $presentBuilder) {WorkoutBuilderView()}
}
}
А вот WorkoutData / Workout:
struct WorkoutData {
static func data() -> [Workout] {
return [Workout(length: 17, name: "Example Workout", description: "workout description"), Workout(length: 17, name: "Example Workout", description: "workout description")]
}
}
struct Workout {
let id = UUID()
var progress = 1
var length: Int
var name: String
var description: String
func completed() -> Int {
return progress - 1
}
Если я правильно понимаю, список не может определить тип тренировок и, следовательно, не может найти идентификатор. Может быть, мне нужно, чтобы Workout соответствовал опознаваемому (пробовал это)? Спасибо!