tgunr
10/7/2019 - 3:41 PM

Initialize Subview

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")
            }
        }
    }
}