Я новичок в Swift, и у меня есть эта интересная проблема.Ячейка, которую я нажимаю в своем столе, отправляет ярлык для ранее нажатой ячейки
Я пытаюсь отправить ярлык ячейки таблицы, когда перейду к другому контроллеру представления, где я его распечатаю. Проблема в том, что она печатает ярлык ячейки, которая была нажата до этого нажатия.
Вот код в главном контроллере представления, который проходит ярлык:
// When a user taps on a cell on the tableView, it asks for a tag name for that image.
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
print("Cell \(indexPath) selected")
// Get cell image.
let indexPath = tableView.indexPathForSelectedRow
let currentCell = tableView.cellForRow(at: indexPath!) as! ImageFeedItemTableViewCell
imagePass = currentCell.itemImageView
labelPass = currentCell.itemTitle
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
// Send image to GreetingViewController.
if segue.identifier == "GoToGreeting" {
var greetingvc = segue.destination as! GreetingViewController
greetingvc.passedImage = imagePass
greetingvc.passedLabel = labelPass
}
}
и здесь соответствующий код в контроллере представления, который принимает переданную ярлык:
var passedImage: UIImageView? = nil
var passedLabel: UILabel? = nil
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
print(passedLabel?.text)
}
Любая помощь будет оценена.
где ваш метод «выполнить segue»? – aircraft
Я удалил его, потому что он отправлял segue дважды. –