Reputation: 5095
I am trying to accept many different types of parameters (could be Int, String or something else) for this okClicked function inside ParentView.
struct ParentView: View {
func okClicked<T>(userAnswer: GeneralAnswer<T>) {
}
var body: some View {
ChildView(okClicked: okClicked)
}
}
struct GeneralAnswer<T> {
var value: T
}
This function actually works as expected. But now I need to pass this function to ChildView. How would the parameter be defined in ChildView?
struct ChildView: View {
var okClicked: (GeneralAnswer<T>) -> () //does not compile
var okClicked2<T>: (GeneralAnswer<T>) -> () //does not compile
var body: some View {
...
}
}
Upvotes: 0
Views: 60
Reputation: 5095
Figured it out:
struct ParentView: View {
func okClicked<T>(userAnswer: GeneralUserAnswer<T>) {
}
var body: some View {
ChildView<Int>(okClicked: okClicked)
}
}
struct ChildView<T>: View {
//typealias T = MyType
var okClicked: (GeneralUserAnswer<T>) -> ()
var body: some View {
Text("")
}
}
Upvotes: 1