• 1000 Появится "safaParis".
У меня есть элемент поиска 5632. Итак, мой код - это
List {
HStack {
TextField("Insert yout city", text: $searchTerm)
Spacer()
if self.searchTerm != "" {
Button(action:{
self.searchTerm=""
})
{
Image(systemName:"xmark.circle.fill")
.foregroundColor(Color.gray)
} .padding(.trailing, 15)
}
} .padding(10)
.background(RoundedRectangle(cornerRadius: 10)
// .strokeBorder(Color("a1"), lineWidth: 3))
.strokeBorder( LinearGradient(gradient: .init(colors: [Color("a3"),Color("a2")]),
startPoint: .topLeading, endPoint: .bottomTrailing), lineWidth: 3))
if self.searchTerm.count > 1 {
ForEach((self.cities.filter { (value:String)->Bool in
return value.lowercased().contains(self.searchTerm.lowercased())
}),
id: \.self) { city in
CityRow(city: city,selectedCity: self.$selectedCity,isshow:self.$showSearchView, poiListData: self.$POIinCity)
}
}
}
}.padding(.top)
.background(Color.white.edgesIgnoringSafeArea(.all))
Но я разочарован такой производительностью. Примерно через 2 ~ 3 секунды поток останавливается.
когда я удаляю строчные предложения в этом коде, он работает нормально.
Как я могу добиться хорошей производительности фильтра массива ??