【发布时间】:2021-06-12 08:57:39
【问题描述】:
细胞模型
class LangModel{
var name: String?
var id: Int?
var isSelected: Bool?
init(name: String?, id: Int?, isSelected: Bool?) {
self.name = name
self.id = id
self.isSelected = isSelected
}
}
我正在从 JSON 向 tableview 添加值,如下所示
for langData in getuserData?.result?.language ?? []{
self.langCellArray.append(LangModel(name: langData.language ?? "", id: langData.id ?? 0, isSelected: false))
}
tableView.reloadData()
使用下面的代码,当我单击languagesBtn 并选择和取消选择 tableview 行时,我可以显示 tableview..
但这里我需要的是..如果languageTextField.text 包含语言,那么如果我点击languageBtn,那么应该使用languageTextField 文本选择tableview 行
怎么做
showPop 显示带有 DONE 和 CANCEL 按钮的 tableview 视图以及设计中的languageTextField is inside languagesBtn
@IBAction func languagesBtn(_ sender: Any) {
showPop()
}
@IBAction func cancelBtn(_ sender: Any) {
remove()
}
@IBAction func doneBtn(_ sender: Any) {
languageTextField.text = selectedlangArray.joined(separator: ", ")
print("Lang array \(selectedlangArray)")
remove()
tableView.reloadData()
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return langCellArray.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "EditLangTableVIewCell", for: indexPath) as! EditLangTableVIewCell
cell.langLbl.text = langCellArray[indexPath.row].name
let selectedIndexPaths = tableView.indexPathsForSelectedRows
let rowIsSelected = selectedIndexPaths != nil && selectedIndexPaths!.contains(indexPath)
cell.accessoryType = rowIsSelected ? .checkmark : .none
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let cell:EditLangTableVIewCell = tableView.cellForRow(at: indexPath) as! EditLangTableVIewCell
cell.accessoryType = .checkmark
langCellArray[indexPath.row].isSelected = true
selectedlangArray.append((cell.langLbl?.text)!)
}
func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
let cell:EditLangTableVIewCell = tableView.cellForRow(at: indexPath) as! EditLangTableVIewCell
cell.accessoryType = .none
}
请帮忙
【问题讨论】:
标签: arrays swift uitableview