В сториборде создал два TVC, суть простая На первом два лейбла : Название услуги , Цена. На втором все идентично, хотел при нажатии определенной услуги получать эту же информацию на другом TVC.
1 TVC
import UIKit import CoreData class TableViewController: UITableViewController { @IBAction func unwindToThisViewController(segue: UIStoryboardSegue){ // объявление сегвея для возврата на этот вью } var Serv:[services]=[ services(name:"Переустановка Виндовс и чего то там там там тывдадывадвы вьыдвавыаь",price:"2000"), services(name:"Чистка ноутбука и тд ывлыдвлвалыальавы ыаьлыав",price: "1000"), services(name: "Замена термопасты жвыдьждыьвсждьывсжыжвсыдв", price: "500") ] override func viewWillAppear(_ animated: Bool) { // включаем свайп navigationController?.hidesBarsOnSwipe = true } override func viewDidLoad() { super.viewDidLoad() tableView.estimatedRowHeight = 90 tableView.rowHeight = UITableViewAutomaticDimension } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { tableView.deselectRow(at: indexPath, animated: true) //что бы не было выделения на выбранном элементе } override func numberOfSections(in tableView: UITableView) -> Int { return 1 } override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return Serv.count } override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! TableViewCell cell.NameLabel.text = Serv[indexPath.row].name cell.PriceLabel.text = Serv[indexPath.row].price return cell } override func prepare(for segue: UIStoryboardSegue, sender: Any?) { // объявление сегвея передача данных if segue.identifier == "bascetsegue"{ let indexPath = tableView.indexPathForSelectedRow! let dvc = segue.destination as! BascetTableViewController // Thread 1: signal SIGABRT dvc.BascetServ = [self.Serv[indexPath.row]] } }
2-ой TVC куда собственно передаю данные
import UIKit class BascetTableViewController: UITableViewController { var BascetServ : [services] = [] override func viewDidLoad() { super.viewDidLoad() tableView.estimatedRowHeight = 90 // метод для расширения ячейки tableView.rowHeight = UITableViewAutomaticDimension tableView.tableFooterView = UIView(frame: CGRect.zero) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } // MARK: - Table view data source override func numberOfSections(in tableView: UITableView) -> Int { return 1 } override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return BascetServ.count } override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! BascetTableViewCell cell.BascetName.text = self.BascetServ[indexPath.row].name cell.BascetPrice.text = self.BascetServ[indexPath.row].price return cell }
- В функции override func prepare() выскакивает ошибка, когда пытаюсь совершить переход. Больше недели бьюсь и пытаюсь обойти эту ошибку, да опыта не хватает. Подскажите пожалуйста.