У меня есть кнопка с именем btnChk2
в строке UITableview
.Когда пользователь нажимает btnChk2
, кнопка btnChk
выбирается.Приведенный выше код работает, чтобы это произошло, но когда я закрываю приложение и снова открываю его, статус флажка не совпадает, например, я хочу, чтобы, если установлен флажок строки, я хотел, чтобы пользователь покинулприложение и возвращаемый один и тот же флажок остаются выбранными, пробовал с NSUserDefaults
, но не работал со мной.
Вот код, который работает, но не сохраняет состояние флажка:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "CheckBoxCell")
if let lbl = cell?.contentView.viewWithTag(1) as? UILabel {
lbl.text = "item-\(1)"
}
if let btnChk = cell?.contentView.viewWithTag(2) as? UIButton {
btnChk.addTarget(self, action: #selector(checkboxClicked(_ :)), for: .touchUpInside)
}
if let btnChk2 = cell?.contentView.viewWithTag(100) as? UIButton {
btnChk2.addTarget(self, action: #selector(checkboxClicked(_ :)), for: .touchUpInside)
}
return cell!
}
@objc func checkboxClicked(_ sender: UIButton) {
guard let cell = sender.superview?.superview as? UITableViewCell else {
return
}
if sender.tag == 2 {
if let btnChk2 = cell.contentView.viewWithTag(100) as? UIButton {
if btnChk2.isSelected == true {
btnChk2.isSelected = false
}else{
btnChk2.isSelected = true
}
}
sender.isSelected = false
}else if sender.tag == 100{
if let btnChk = cell.contentView.viewWithTag(2) as? UIButton {
if btnChk.isSelected == true {
btnChk.isSelected = false
}else{
btnChk.isSelected = true
}
}
}
}