无法推断复杂闭包 return 类型;添加显式类型以消除歧义?

Unable to infer complex closure return type; add explicit type to disambiguate?

我有一个观点,我想包含一个 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 是一个地理编码 class.

改用函数,如下

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!")
        }
    }
}