У меня есть пользовательский встроенный вид с текстом и ползунок, который привязывается к ObservedObject. Я могу успешно обновить привязку с изменением ползунка, но текст не обновляется. По какой-то причине я действительно изо всех сил пытаюсь освоить Property Wrappers и надеюсь наконец заставить его щелкнуть.
Я могу легко обновить текст, когда привязываю значение слайдера к локальному состоянию, ноне повезло с привязкой.
class MyItem:ObservableObject, Codable, Identifiable {
enum CodingKeys: String, CodingKey {
case calories
}
var didChange = PassthroughSubject<Void,Never>()
var id = UUID()
var calories:Double = 0 { didSet { update() }
func update() {
didChange.send()
}
}
struct ContentView:View {
@ObservedObject var item = MyItem()
var body:some View {
MySlider(value: $item.calories)
}
}
struct MySlider:View {
@Binding var value:Double
var body:some View {
VStack {
Text("\(value) ")
Slider(value: $value, in: 0...2000, step:5)
}
}
}
Все работает отлично, но я не могу обновить текст в MySlider, когда я связываюсь со Слайдером.