ios - 无法选择或打印搜索栏过滤数组
问题描述
我有 3 个按钮可以通过搜索从 tableview 中选择 3 个项目。一切正常,直到我搜索并选择一行。
当我选择行时..它会打印“未选择任何内容”,我将其包含在 switch 语句默认代码中。
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if isSearching == true{
tableData = filteredArray
switch filteredArray {
case signUser.countries:
signUser.country = tableData[indexPath.row]
self.btnCountry.titleLabel?.text = signUser.country
print(signUser.country)
case signUser.dawatTitles:
signUser.dawatName = tableData[indexPath.row]
self.btnDawat.titleLabel?.text = signUser.dawatName
case signUser.nationalities:
signUser.nationality = tableData[indexPath.row]
self.btnNationality.titleLabel?.text = signUser.nationality
default:
print("nothing selected")
}
}
else if isSearching == false{
tableData = unfilteredArray
switch unfilteredArray{
case signUser.countries:
signUser.country = tableData[indexPath.row]
print(signUser.country)
case signUser.dawatTitles:
signUser.dawatName = tableData[indexPath.row]
print(signUser.dawatName)
case signUser.nationalities:
signUser.nationality = tableData[indexPath.row]
print(signUser.nationality)
default:
print("dsds")
}
}
}
当我搜索并选择国家或任何项目时..它应该打印选定的国家或行。
它无需搜索即可工作
解决方案
你有你的按钮动作(我在你编辑问题之前看到了这个):
self.unfilteredArray = signUser.dawatTitles
// ...
self.unfilteredArray = signUser.countries
//...
self.unfilteredArray = signUser.nationalities
并且在表格视图的切换中基本上选择了你
//...
switch filteredArray {
case signUser.countries:
//...
// is the filteredArray the signUser.countries ?
// well … never because you never assing them
解决方案:
将按钮的选择保持在变量中
有点像:
enum Options {
case dawatTitles
case countries
case nationalities
}
var lastSelection: Options?
/// ... when a button is pressed
lastSelection = Options.nationalities //for example
and in the table view did select
switch lastSelection {
case countries:
// is searching ... bla bla
仍然......您的代码中似乎还有其他可以改进的东西。
推荐阅读
- css - 动态标签不起作用。我怀疑引导 css 文件与我的 css 文件冲突
- html - 切换内容时保持相同的尺寸
- javascript - 如何将 JS 日期时间转换为本地 MySQL 日期时间?
- javascript - Vue 状态未使用默认注入值更新
- mysql - Laravel Transaction:如何提交一些查询而不是全部回滚?
- java-threads - Java线程同步101
- typescript - 打字稿:到达一个类而不导出它
- go - GO 制作多个使用 nmap 的 goroutine
- javascript - FullCalendar 资源分组不适用于 React
- apache-kafka - Failed to connect to kafka cluster When running Kafka and Kafka-connect on different servers