Initialize Subview
...
@State var medication: Medication
...
TakeView(hour: $medication.interval)
struct TakeView: View {
@Binding var hour: Int
@State private var hourString: String = ""
let range = 1...12
var body: some View {
let binding = Binding<Int>(
get: { self.hour },
set: {
self.hour = $0
self.hourString = String(self.hour)
})
return Stepper(value: binding, in: range) {
if hour > 1 {
Text(verbatim: "\(hourString) hours")
} else {
Text(verbatim: "hour")
}
}
}
}