SwiftUI: Generi c параметр 'C0' не может быть выведен - PullRequest
1 голос
/ 08 января 2020

Я работал с этим кодом и продолжаю получать эту ошибку: '' Generi c параметр 'C0' не может быть выведен ”'Кроме того, он говорит' В вызове функции 'buildBlock' (SwiftUI.ViewBuilder) 'на моем HStack, когда я включаю эту строку кода:

self.userData.tempBatchUnit = productName

Я не уверен, почему. Код работает без этой строки кода. Большое спасибо

struct enterProductUnitView: View {
    @EnvironmentObject var userData: UserData
    @State var productName: String = ""

    var body: some View {
        VStack {
            HStack { // error Generic parameter 'C0' could not be inferred
                Text("Product Unit:")
                    .font(.headline)
                Spacer()
                NavigationLink(destination: InstructionsView(desireInstructions: "Product Unit")) {
                    Text("?")
                }
            }

             Text("ex: bags of popcorn, jars of jam etc.")
                .font(.subheadline)
            TextField("Enter here", text: $productName)
                .textFieldStyle(RoundedBorderTextFieldStyle())
                .padding()
                .padding(.leading)
            self.userData.tempBatchUnit = productName
        }
    }
}

1 Ответ

3 голосов
/ 08 января 2020

Удалите следующую строку - это не разрешено в body View Builder

self.userData.tempBatchUnit = productName

Я предполагаю, что это должно быть в .onCommit

    TextField("Enter here", text: $productName, onCommit: {
            self.userData.tempBatchUnit = self.productName
        })
        .textFieldStyle(RoundedBorderTextFieldStyle())
        .padding()
        .padding(.leading)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...