Ваш prepare for segue
не должен быть внутри override func tableView(
переместить его так, как это:
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
rowselected = indexPath.row
self.performSegue(withIdentifier: "dayx", sender: self)
}
также следует переопределить:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "dayx" {
let destinationVC = segue.destination as! foodinfo
destinationVC.counter = rowselected
}
}
, потому что override func prepareForSegue
методвызывается после self.performSegue
.Так что теперь вы можете успешно установить значение rowSelected = indexPath.row
внутри override func tableView(
и при вызове self.performSegue
он будет правильно передавать данные, как установлено в override func prepareForSegue