У меня проблема с флажком в swift. Я использую M13Checkbox, найденный в github. В моем приложении, когда я нажимаю на флажок ячейки с индексом 0, флажки всех четных чисел (индекс) ячеек отмечены. А также, когда я нажимаю на флажок ячейки индекса 1, проверяются все флажки ячейки нечетных чисел (индекса). Я не могу найти причину для этого Кто-нибудь может мне помочь?
Вот мой код:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: sipCellId, for: indexPath) as! sipCell
var searched: String?
if isSearching {
searched = filteredArray[indexPath.row]
}else{
searched = self.orderId[indexPath.row]
}
cell.orderIdLabel.text = searched
//cell.orderIdLabel.text = self.orderId[indexPath.row]
cell.detailLabel.text = self.newDatas[indexPath.row]
cell.alindiLabel.text = "Alındı: "
cell.temizlemedeLabel.text = "Temizlemede: "
cell.teslimEdildiLabel.text = "Teslim edildi: "
cell.kapidaOdemeLabel.text = "Kapıdan alınacak tutar: \(self.ucret[indexPath.row])"
cell.deleteButton.tag = indexPath.row
cell.urunEklemeButton.tag = indexPath.row
cell.uncheckedButtonAlindi.tag = indexPath.row
cell.uncheckedButtonTemizleme.tag = indexPath.row
cell.uncheckedButtonTeslim.tag = indexPath.row
return cell
}
Вот моя функция флажка:
@objc func checkControlAlindi(sender : M13Checkbox?) {
switch sender!.checkState {
case .checked:
let indexPath = IndexPath(row: (sender!.tag), section: 0)
let cell = tableView.cellForRow(at: indexPath) as! sipCell
print(cell.orderIdLabel.text!)
print("alındı kısmına bastınız... ", (sender!.tag))
break
case .unchecked:
print("unchecked")
break
case .mixed:
//empty...
break
}
}
А вот мой флажок:
let uncheckedButtonAlindi: M13Checkbox = {
let button = M13Checkbox()
button.tintColor = .orange
button.boxType = .circle
button.secondaryTintColor = .lightGray
button.boxLineWidth = 4
button.checkmarkLineWidth = 3
button.addTarget(self, action: #selector(ViewController.checkControlAlindi(sender:)), for: UIControl.Event.valueChanged)
return button
}()