В SwiftUI вы можете написать код, подобный следующему:
List {
ForEach(users, id: \.self) { user in
Text(user)
}
.onDelete(perform: delete)
}
Я пытаюсь добавить функциональность с помощью синтаксического метода .onDelete в мой пользовательский компонент:
struct MyComponen: View {
@Binding var alert: String
.
.
.
}
Я пытаюсь добавить эту способность с расширением:
extension MyComponent {
func foo() -> Self {
var copy = self
copy.alert = "Hohoho"
return copy
}
func onDelete() -> Void {
}
}
Как я могу изменить состояние (или функцию обратного вызова с):
struct ContentView: View {
var body: some View {
Group {
MyComponent() //-> with alert = "state 1"
MyComponent().foo() //-> with alert = "state 2"
MyComponent().foo(action: actionFunction) //-> how do this?
}
}
}