import SwiftUI public extension Binding { func unwrapped(_ defaultValue: T) -> Binding where Value == T? { Binding(get: { wrappedValue ?? defaultValue }, set: { newValue in wrappedValue = newValue }) } } public extension Binding where Value == Int32 { func stringBinding(defaultValue: Int32) -> Binding { Binding { var intValue = wrappedValue if intValue == 0 { intValue = defaultValue } return String(intValue) } set: { newValue in var newIntValue = Int32(newValue) ?? defaultValue if newIntValue == 0 { newIntValue = defaultValue } wrappedValue = newIntValue } } }