Галочка не меняется - PullRequest
0 голосов
/ 11 мая 2018

Мое приложение имеет два tableViews. когда я щелкаю первую ячейку таблицы, она показывает другую таблицу со списком элементов. Я установил галочку для выбора конкретного элемента. Я отправляю массив с именем «arraytofill» через segue из первого viewController.

Я хочу установить флажок, равный выбранному элементу во втором контроллере вида, чтобы детализировать текстовую метку в первом контроллере вида

Я сделал концепцию, если detailtextlabel == indexpath.row

поставить галочку

После того, как я выберу следующий элемент, флажок ставится, но первый флажок не удаляется, остается, я не знаю, как удалить это.

Пожалуйста, помогите мне сделать это

Заранее спасибо

import UIKit

protocol DataSentDelagate {

    func userDidEnterData(data: String)  

}

class TableViewController2: UITableViewController {

    var arraytofill = [String]()

    var dk:String = ""
    var delegate: DataSentDelagate? = nil

    override func viewDidLoad() {

        super.viewDidLoad()
          }
    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

    }
    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

        return arraytofill.count

    }
    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

        let cell = tableView.dequeueReusableCell(withIdentifier: "cell3", for: indexPath)

        cell.textLabel?.text = arraytofill[indexPath.row]

        if indexPath.row == UserDefaults.standard.integer(forKey: "store"){

            cell.accessoryType = UITableViewCellAccessoryType.checkmark

        }else if dk == arraytofill[indexPath.row]{

            cell.accessoryType = UITableViewCellAccessoryType.checkmark

        }else{
            cell.accessoryType = UITableViewCellAccessoryType.none
        }
        return cell
    }    

    override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        UserDefaults.standard.set(indexPath.row, forKey: "store")
        UserDefaults.standard.synchronize()

        self.tableView.reloadData()
       let selectedcell = tableView.cellForRow(at: indexPath) as! UITableViewCell

        let data = selectedcell.textLabel?.text;    

       if delegate != nil {
            delegate?.userDidEnterData(data: data!)
            dismiss(animated: true, completion: nil)
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...