SwiftUI - List выдает ошибку «Тип выражения неоднозначен без дополнительного контекста» - PullRequest
0 голосов
/ 23 сентября 2019

Я пытаюсь реализовать Список с множественным выбором.

Это код:

import SwiftUI

struct MultiSelectionWithEditButton : View {
    var items = ["One","Two", "Three"]

    @State var selectedRows = Set<String>()

    var body: some View {
        NavigationView {
            List((items, id: \.self), selection: $selectedRows) { name in
                Text(name)
                    .font(.title)
                    .fontWeight(.bold)
                }
                .navigationBarItems(trailing: EditButton())
                .navigationBarTitle(Text("Selected \(selectedRows.count) rows"))
        }
    }
}

#if DEBUG
struct MultiSelectionWithEditButton_Previews : PreviewProvider {
    static var previews: some View {
        MultiSelectionWithEditButton()
    }
}
#endif

Но я получаю ошибку ниже:

"Тип выраженияявляется двусмысленным без контекста "

enter image description here

Благодарим вас за помощь!:)

1 Ответ

2 голосов
/ 23 сентября 2019

Проблема в вашей List s инициации.Измените его на List с ForEach внутри, как показано ниже:

struct MultiSelectionWithEditButton : View {
    var items = ["One","Two", "Three"]

    @State var selectedRows = Set<String>()

    var body: some View {
        NavigationView {
            List(selection: $selectedRows){
                ForEach(items, id: \.self) { name in
                    Text(name)
                        .font(.title)
                        .fontWeight(.bold)
                }
            }
            .navigationBarItems(trailing: EditButton())
            .navigationBarTitle(Text("Selected \(selectedRows.count) rows"))
        }
    }
}
...