>我有 3 个按钮可以从带有搜索的表格视图中选择 3 个项目。在我搜索并选择一行之前,一切都运行良好。
当我选择行时。它打印"未选择任何内容",我将其包含在开关语句默认的代码中。
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
还。。。您的代码中似乎还有其他内容可以改进。