Невозможно определить возвращаемый тип сложного закрытия; добавить явный тип для устранения неоднозначности? - PullRequest
1 голос
/ 26 мая 2020

У меня есть представление, в которое я хотел бы включить оператор if, но когда оператор if добавляется к замыканию ForEach, это вызывает срабатывание этой ошибки. Есть ли обходные пути?

import Foundation
import SwiftUI

struct SearchResults: View {
    @ObservedObject var VModel: ViewModel
    var body: some View {
        List {
            ForEach(self.VModel.searchResults, id: \.self) { result in 
                self.RowText
            }
        }
    }

    private var RowText: some View {
        if result.country != nil { //Cannot access the result variable here?
            return Text("First conditional met!")
        } else {
            return Text("Second conditional met!")
        }
    }

}

Примечание: searchResults - это массив типа GeocodedPlacemark. VModel - это класс геокодирования.

1 Ответ

2 голосов
/ 26 мая 2020

Вместо этого используйте функцию, как показано ниже

struct SearchResults: View {
    @ObservedObject var VModel: ViewModel
    var body: some View {
        List {
            ForEach(self.VModel.searchResults, id: \.self) { result in
                self.rowText(result: result)
            }
        }
    }

    private func rowText(result: GeocodedPlacemark) -> some View {
        if result.country != nil { //Cannot access the result variable here?
            return Text("First conditional met!")
        } else {
            return Text("Second conditional met!")
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...