我有一个包含国家列表的jsonFile,并创建了一个名为countryFromJson()的函数来读取json文件中的数据,问题是搜索在每个设备上都正常工作,除了iPhone 13 Pro Max与iOS 16搜索不工作,我找不到它有什么问题,是设备还是因为我下面写的算法?
struct CountryListView: View {
@Binding var countryCode: String
@Binding var countryFlag: String
@Binding var countryName: String
@State private var searchText = ""
var body: some View {
HStack {
VStack {
SearchBar(text: $searchText)
List {
ForEach( countryFromJson().data.filter({ country in
let fullCountryName = country.countryName.hasPrefix(searchText)
let countryCode = country.dialCode
return fullCountryName || searchText == "" || countryCode.hasPrefix(searchText)
}), id: \.self) { country in
HStack {
Text(country.flag)
Text(country.countryName)
Spacer()
Text("+\(country.dialCode)")
.foregroundColor(.secondary)
}.background(Color.white)
.font(.system(size: 20))
.onTapGesture {
self.countryCode = "+\(country.dialCode)"
self.countryFlag = country.flag
let countryName = country.countryName
self.countryName = countryName
self.presentation.wrappedValue.dismiss()
}
}
}
}
}
}
}
任何帮助将不胜感激,我只是想知道这是什么问题,因为搜索是正常工作的每一个设备上我测试过,只有iPhone 13 Pro Max与iOS 16不与搜索工作.
1条答案
按热度按时间nukf8bse1#
我已经找到了可以引起搜索问题的问题,解决方法很简单:只需将这些数据转换为小写就能解决我的问题
现在我可以搜索大写和小写。