#ios #swift #function #swiftui #observedobject
#iOS #swift #функция #swiftui #наблюдаемый объект
Вопрос:
Я наблюдал объект, который создается в представлении, и я хочу иметь функцию, которая будет выполняться при изменении свойства объекта bool. Я хочу что-то похожее на .onTapGesture. Есть ли способ это сделать? есть функция, в которой тело функции создается вне этого объекта?
Комментарии:
1. Как эта функция связана с представлением, привязана ли она к какому-либо компоненту?
Ответ №1:
Давайте повторим…
class Demo: ObservableObject {
@Published var value = false
}
struct DemoView: View {
@ObservedObject var demo = Demo()
var body: some View {
Text("Demo")
.onReceive(demo.$value) { flag in
// call here your function
}
}
}
Комментарии:
1. Есть ли способ, которым я мог бы передать массив наблюдаемых объектов?
Ответ №2:
используйте @ObservedObject для изменения значения, используйте @StateObject для чтения опубликованного значения