为什么swiftui子视图中的绑定协议需要该结构具有通用类型约束?

时间:2020-08-08 16:46:50

标签: binding swiftui

在以下情况下,我的子视图受此协议驱动:

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 } 定义为通用类型?这里是否有更好的选择可以使协议绑定与子视图一起使用?

0 个答案:

没有答案