我认为我想在其中包含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是一个地理编码类。
如果您的回答为零,您需要返回一些信息。这就是编译器抱怨的原因。
import Foundation
import SwiftUI
struct SearchResults: View {
@ObservedObject var VModel: ViewModel
var body: some View {
List {
ForEach(self.VModel.searchResults, id: \.self) { result in
if result.country != nil {
Text("\(result.formattedName), \(result.country!)")
} else {
EmptyView()
}
}
}
}
}