无法推断复杂闭包 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!")
}
}
}
我有一个观点,我想包含一个 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!")
}
}
}