Код: Выделить всё
struct ColorCorrectionsViewModel {
var sliderVal:Float
var sliderMinVal:Float
var sliderMaxVal:Float
var chosenControl:ColorControl
var userUpdatingColorValue:Bool
var onReset:() -> Void
var onValueChange:(_ newValue:Float) -> Void
var onColorMenuChange(_ newControl:ColorControl) -> Void
}
public enum ColorControl {
case none, brightness, contrast, highlights, shadows
}
Код: Выделить всё
var editButton:some View {
Button {
editorVM.colorControlsVM.chosenControl = .contrast
editorVM.colorControlsVM.sliderVal = 0.8
editorVM.colorControlsVM.onReset = {
NSLog("Reset")
}
editorVM.colorControlsVM.onValueChange = { newValue in
NSLog("New value \(newValue)")
}
showColorCorrectionMenu.toggle()
} label: {
....
}
Каков альтернативный способ избежать такого большого количества обратных вызовов закрытия, когда изменения в значениях автоматически наблюдаются родителем ( что кажется чистым способом SwiftUI)?
Подробнее здесь: https://stackoverflow.com/questions/786 ... om-subview