В настоящее время в моем проекте есть контроллер табличного представления с кнопкой и текстом в каждой строке. У меня проблема с выяснением, как изменить изображение кнопки в определенной строке после нажатия кнопки. У меня уже есть функция «переопределить func tableView (_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)», работающая, чтобы перевести мое приложение в новое представление. Мне нужна кнопка (при нажатии), чтобы добавить данные из определенной строки в переменную избранного. Который затем будет отображаться на другом экране. Моя кнопка не меняет вид.
В настоящее время у меня есть функция события кнопки, которая вызывается при каждом нажатии кнопки в ряду. Проблема, с которой я столкнулся, заключается в том, что я понятия не имею, как получить доступ к конкретной кнопке в ряду, который был нажат, и изменить только изображение этой кнопки.
Вот мой код:
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! TableViewCell
// Setting Text and images
cell.batchName.text = processes[indexPath.item].batch_name
cell.startTime.text = processes[indexPath.item].starttime
cell.endTime.text = processes[indexPath.item].endtime
cell.slaTime.text = processes[indexPath.item].SLA
var statusColor = UIColor.black
// Calling Button event function
cell.starButton.addTarget(self, action: #selector(favoriteStarClicked), for: UIControlEvents.touchUpInside)
return cell
}
@IBAction func favoriteStarClicked(_ sender: Any) {
// Need to change the image of the button that was clicked
}