У меня есть приложение, которое начинается с панели вкладок с 3-мя элементами, 2 из них - просто обычный контроллер представления, один из них - контроллер навигации, а после него - представление таблицы, когда я нажимаю на ячейку, которую хочу передать 2Строка с метками и переход к новому контроллеру представления для отображения меток, моя проблема в том, что после того, как я щелкаю по ячейке, она выглядит как контроллер представления с переходом 2 до того контроллера, который мне нужен, и в первый раз я нене вижу своих данных, которые я передаю, только после того, как я нажму, чтобы вернуться к контроллеру табличного представления (здесь мне нужно вернуться к нему из двух контроллеров представления), пожалуйста, помогите мне исправить мой код, я хочу передать данные иперейти к новому контроллеру представления, и когда я хочу вернуться к табличному представлению, мне нужно нажать только назад
// Контроллер табличного представления, до него у меня есть навигационный контроллер
// Идентификатор перехода - «Сведения»
import UIKit
class HistoryTableViewController:
UIViewController,UITableViewDelegate,UITableViewDataSource {
@IBOutlet weak var historyTableView: UITableView!
var historyArray = [history]()
var foods = ["Milk","Honey","Salt","Bread","Banana"]
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return foods.count
//historyArray.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
guard let cell = historyTableView.dequeueReusableCell(withIdentifier: "cell") as? HistoryCellViewController
else {return UITableViewCell()}
// cell.ageLabel.text = String(format:"%f", historyArray[indexPath.row].age)
// cell.genderLabel.text = historyArray[indexPath.row].gender
// cell.ageLabel.text = String(format:"%f", 23)
cell.genderLabel.text = foods[indexPath.row]
cell.ageLabel.text = foods[indexPath.row]
// cell.genderLabel.text = "Bar"
//cell.historyImage.image = nil
return cell
}
var selectedAge:String = " "
var selectedGender:String = " "
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
selectedAge = self.foods[indexPath.row]
selectedGender = self.foods[indexPath.row]
performSegue(withIdentifier: "Details", sender: self)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "Details"{
let vc = segue.destination as! HistoryDetailsViewController
vc.age = selectedAge
vc.gender = selectedGender
}
}
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) {
if editingStyle == UITableViewCell.EditingStyle.delete {
foods.remove(at: indexPath.row)
historyTableView.reloadData()
}
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
}
// просмотр контроллера, который я хочу передать после щелчка по ячейке
import UIKit
class HistoryDetailsViewController: UIViewController {
@IBOutlet weak var ageLabel: UILabel!
@IBOutlet weak var genderLabel: UILabel!
var age:String?
var gender:String?
override func viewDidLoad() {
super.viewDidLoad()
ageLabel.text = self.age
genderLabel.text = self.gender
// Do any additional setup after loading the view.
}
//
// @IBAction func Back(_ sender: UIBarButtonItem) {
//
// // self.tabBarController?.selectedIndex = 0
// }
}