Как передать параметр в метод addTarget кнопки в swift - PullRequest
0 голосов
/ 12 сентября 2018

У меня есть CollectionViewCell, и я работаю над его методом cellForItemAt. У меня есть кнопка в каждой ячейке представления коллекции, которая определяет 3 различных раздела в моем CollectionView.

Я добавляю код ниже, чтобы установить цель кнопки: cell.buttonView.addTarget (self, action: #selector (buttonPressed (sender :)), для: UIControlEvents.touchUpInside)

Теперь я создал новый метод: @objc func buttonPressed (отправитель: UIButton), где я добавляю заголовок в UIAlertController, например: let alertController = UIAlertController (title:, message: "Ниже приведены действия", предпочитаемый стиль: .actionSheet)

Таким образом, при каждом нажатии любой кнопки в ячейке оповещение должно открываться, а также каждый раз, когда заголовок для него будет другим.

Как мне передать название динамически?

1 Ответ

0 голосов
/ 12 сентября 2018

Если переданный заголовок является заголовком кнопки, то вы можете просто сделать это: -

@objc func buttonPressed(sender: UIButton){
let title = sender.title(for: .normal)
}

А если в разделе есть какие-то другие данные, вы можете использовать теги на кнопках и настройкиих к indexPath.row: -

 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
cell.buttonView.tag = indexPath.row
}

И в действии вашей кнопки доступ к тегу кнопки

    @objc func buttonPressed(sender: UIButton){
        let objectIndex = sender.tag
        let object = yourArray[objectIndex]
let title = object.title
        }
...