相关疑难解决方法(0)

错误:初始化程序 'init(_:)' 要求 'Binding<String>' 符合 'StringProtocol'

我收到上述错误,无法弄清楚如何解决它。我有一个包含布尔值的对象数组,需要为每个布尔值显示一个切换。

下面是代码。

class Item: Identifiable {
    var id: String
    var label: String
    var isOn: Bool
}

class Service: ObservableObject {
    var didChange = PassthroughSubject<Void, Never>()

    var items: [Item] {
        didSet {
            didChange.send(())
        }
    }
}

struct MyView: View {
    @ObservedObject var service: Service

    var body: some View {
        List {
            ForEach(service.items, id: \.self) { (item: Binding<Item>) in
                Section(header: Text(item.label)) {  // Error: Initializer 'init(_:)' requires that 'Binding<String>' conform to 'StringProtocol'
                    Toggle(isOn: item.isOn) {
                        Text("isOn")
                    }
                }
            }
        }
        .listStyle(GroupedListStyle())
    } …
Run Code Online (Sandbox Code Playgroud)

swift swiftui combine

16
推荐指数
1
解决办法
2万
查看次数

标签 统计

combine ×1

swift ×1

swiftui ×1