我试图运行这段代码,但在闭包中出现了警告...有什么方法可以解决吗?
为了在后台线程中运行过滤器函数,建议我使用带有过滤器函数的 init 函数。
但是在闭包中出现了以下警告:
"'weak' 只能应用于类和类约束协议类型,而不能应用于 'ContentView'。"
import SwiftUI
struct ContentView: View {
@ObservedObject var dm: DataManager
@State private var searchTerm : String = ""
@State var filteredAirports: [AirportModel] = []
init(dataM: DataManager) {
self.dm = dataM
dm.filter(valoreSearhed: searchTerm, arrayTosearh: dm.airportVector, closure: { [weak self] in
self?.filteredAirports = $0 })
}
var body: some View {
VStack {
SearchBar(text: $searchTerm)
List {
ForEach(filteredAirports) { valore in
Text(valore.aptICAO)
}
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView(dataM: DataManager())
}
}