Всем привет!
У меня есть tableView, это экран корзины, в котором магазины разбиты по секциям. В секциях ячейки с товаром. В этих ячейках есть UILabel цены, UILabel кол-ва одного товара в корзине и UILabel, суммирующий цена * кол-во. Также есть две кнопки для уменьшения и прибавления количества на 1. Пример кода -
var count: Float = Float(cell.countLabel.text!)!
guard Int(count) > 1 else { return }
var shortPrice = cell.newPrice.text
shortPrice?.removeLast(2)
let floatPrice = Float(shortPrice!)
count -= 1
let newSumShortPrice = floatPrice! * count
cell.countLabel.text = String(Int(count))
cell.summPrice.text = "\(newSumShortPrice) ₽"
Но изменения, естественно, происходят только визуально. Стоит проскролить ячейку и все вернется на свои места, в соответсвии с данными в массиве.
Структура массива такая (основное все убрал, дабы не мешало. Оставил только нужное) -
struct ViewModel {
var name: String?
var offers: [Offers]?
}
struct Offers : Mappable {
var count : Int?
var fullPrice : String?
var shortPrice : String?
}
var purchasesViewModel = [PurchaseList.Fetch.ViewModel]()
На сколько я понимаю, необходимо передать значения в массив и использовать tableView.reloadData()
Но как передать новое значение count в массив?