在以下情况下,我的子视图受此协议驱动:
scanf()
我有一个父视图,该视图创建了子视图并传递了协议绑定:
protocol DropdownItemProtocol {
//some properties
}
在我的父视图中出现错误“无法生成诊断表达式;请提交错误报告”
但是,如果我转到子视图并将其更改为:
DropdownView(viewModel: $viewModel.dropdowns[index])
收件人:
struct DropdownView: View {
@Binding var viewModel: DropdownItemProtocol
}
它可以编译并运行-我的问题是为什么我需要将struct DropdownView<T: DropdownItemProtocol> : View {
@Binding var viewModel: T
}
定义为通用类型?这里是否有更好的选择可以使协议绑定与子视图一起使用?