Проблема с кнопками в ячейках таблиц


#1

Добры день! Столкнулся с непонятной мне проблемой при нажатие кнопки формат CheckBox. Кратко о приложение - пользователь авторизируется в личном кабинете -> получаем данные о клиенте(договора) в формате xml -> парсю эти данные в таблицу где каждый договор это секция.
Вот пример кода ячейки таблицы и самой визуальной части.


image
Появилась проблема что при нажатие на кнопку Оплаты в ячейке с индексом 0 срабатывает также анимация чекбокса в ячейке с индексом 3(только анимация того что уже на кнопку нажали самого нажатия не происходит), а также в ячейке с индексом 1 срабатывает анимация в ячейке с индексом 4.
Код класса ячейки

class MyTableViewCell: UITableViewCell{


var CellIndex: Int!

@IBOutlet weak var ContractNumber: UILabel!

@IBOutlet weak var MaximumCredit: UILabel!
@IBOutlet weak var Description: UILabel!
@IBOutlet weak var LastOperationDate: UILabel!

@IBAction func StartPay(_ sender: UIButton) {
    UIView.animate(withDuration: 0.1, delay: 0.1, options: .curveLinear, animations: {
        sender.transform = CGAffineTransform(scaleX: 0.1, y: 0.1)
    }) { (success) in
        sender.isSelected = !sender.isSelected
        UIView.animate(withDuration: 0.1, delay: 0.1, options: .curveLinear, animations: {
            sender.transform = .identity
        }, completion: nil)
    }
    print(CellIndex)
}

@IBOutlet weak var MaximumAmountPayment: UILabel!
@IBOutlet weak var MinimumAmountPayment: UILabel!
@IBOutlet weak var Pay: UITextField!
@IBOutlet weak var DaysOverdue: UILabel!
@IBOutlet weak var DaysTheEnd: UILabel!
@IBOutlet weak var Surcharge: UILabel!
@IBOutlet weak var AccruedInterest: UILabel!
@IBOutlet weak var CreditBalance: UILabel!
@IBOutlet weak var ExpirationDate: UILabel!
@IBOutlet weak var AgreementDAte: UILabel!
@IBOutlet weak var InterestRatePerDay: UILabel!

var Item: RSSItem! {
    didSet{
        ContractNumber.text = Item.contractnumber
        Description.text = Item.description
        MaximumCredit.text = Item.maximumcredit
        LastOperationDate.text = "Дата последней операции:\(Item.lastoperationdate)"
        InterestRatePerDay.text = Item.interstrateperday
        AccruedInterest.text = Item.accruedinterest
        Surcharge.text = Item.surcharge
        DaysTheEnd.text = Item.daystheend
        DaysOverdue.text = Item.daysverdue
        MinimumAmountPayment.text = "мин сумма \(Item.minimumamountpayment)"
        MaximumAmountPayment.text = "макс сумма \(Item.maximumamountpayment)"
        AgreementDAte.text = Item.agreementdate
        ExpirationDate.text = Item.expirationdate
        Pay.text = Item.minimumamountpayment
        
    }
} 

}
Кто то сталкивался с подобным или знает в чем дело подскажите пожалуйста как решить проблему.


#2

А 0 и 3 ячейка одновременно находятся на экране или нет?
Если у Вас просто просто дублируются значения, то это происходит из-за переиспользования ячеек, то есть данные копируются и это Вам знак, что нужно откуда-то эти значения брать (например массив) и уже помещать в ячейку, а не просто использовать ячейку со своими какими-то значениями.
В общем, ключевой момент, ячейки ПЕРЕИСПОЛЬЗУЮТСЯ.
Надеюсь это то, что Вам нужно.


#3

Я может вас не понял, но данные у меня загружаются с сервера в xml формате и я его парсю, а потом данные присваиваю переменной, пусть называется Items , с таким же типом но уже в моем ВьюКотроллере и при создание ячейки передаю в нее данные из Items по индексу секции
image
А в ячейке уже через didSet присваиваю значения для каждой лейбл(код ячейки выше)
Хочу разобраться в этом и понять еще почему именно через 2 ячейки срабатывает анимация ))