Как передать данные из UITableView в UIViewController без перехода - PullRequest
0 голосов
/ 16 июня 2019

Мне нужно передать название строки в UITableView моему ViewController. У меня нет VC в раскадровке (я создал его по коду). Так что я не могу использовать Segue.

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

   let cell = tableView.cellForRow(at: indexPath) as! UITableViewCell


    cell.textLabel?.textColor = UIColor(red: 0, green: 122/255, blue: 1, alpha: 1)
    cell.textLabel?.tintColor = UIColor(red: 0, green: 122/255, blue: 1, alpha: 1)

        var titleOfFood = String()
        if searching == true {
           titleOfFood = searchedFoods[indexPath.row].title
            cell.textLabel?.textColor = UIColor(red: 0, green: 122/255, blue: 1, alpha: 1)
             print(titleOfFood)
        } else {
            titleOfFood = foods[indexPath.row].title
            cell.textLabel?.textColor = UIColor(red: 0, green: 122/255, blue: 1, alpha: 1)
             print(titleOfFood)
        }

    let controller = EatenFoodViewController()
    let transitionDelegate = SPStorkTransitioningDelegate()
    controller.transitioningDelegate = transitionDelegate
    controller.modalPresentationStyle = .custom
    //controller.delegate = self
    transitionDelegate.customHeight = 620
    transitionDelegate.showIndicator = false
    self.present(controller, animated: true, completion: nil)
}

Мне нужно передать titleOfFood на EatenFoodViewController

1 Ответ

1 голос
/ 16 июня 2019

Для отправки данных на виртуальный канал назначения не требуется переход, вы можете просто сделать

controller.titleOfFood = arr[indexPath.row].title // assuming you have an array of models 

ИЛИ

controller.titleOfFood = cell.textLabel!.text!

class EatenFoodViewController:UIViewController {
   var titleOfFood = ""
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...