Поддерживать состояние кнопки в UITableViewCell - PullRequest
0 голосов
/ 12 января 2020

в этом коде я получаю список ячеек, и когда я щелкаю по 3 ячейке и прокручиваю состояние 1 ячейки, получаем chnge, и заданная c ячейка, по которой щелкают, остаются не отключенными

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return lists.count
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tblMetting.dequeueReusableCell(withIdentifier: "VMSTableViewCell", for: indexPath) as! VMSTableViewCell

        cell.btnAccept.tag = indexPath.row
        cell.btnAccept.addTarget(self, action: #selector(openAcceptMetting(sender:)), for: .touchUpInside)

       cell.btnReject.tag = indexPath.row
       cell.btnReject.addTarget(self, action: #selector(openCancelMetting(sender:)), for: .touchUpInside)

        }

    @objc func openAcceptMetting(sender: UIButton){

        let list = lists[sender.tag]

        let header = ["Authorization" : "Bearer \(Token)",
            "Accept" : "application/json",
            "Content-Type" : "application/json"]


        let params = [
            "response": "true",
            "visitor_id": list.visiter_id! as? Int
            ] as [String : Any]

        let url = Constant.BASE_URL + Constant.UPDATE_MEETING
        let request = Alamofire.request(url, method:.post,parameters: params, encoding: JSONEncoding.default, headers: header).responseJSON {
            response in
            print(response)
            switch response.result {
            case .success:
                if let result = response.result.value {

                    self.mettings() // api call whr i get the list of table view
                    self.tblMetting.reloadData()
                }
                break
            case .failure(let error):
                print(error)
            }
        }
        print("sush Request : \(request) : " + Constant.UPDATE_MEETING)
    }

1 Ответ

3 голосов
/ 13 января 2020

Возьмите один массив [Int] и сохраните ваш indexpath.row при щелчке любого из состояний кнопки и в cellForRowAt indexPath: методе проверьте indexpath и управляйте состоянием, если indexpath существует в вашем массиве.

Другой способ сделать это, добавив дополнительные ключи в вашу модель данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...