Передать значение переменной с помощью popToViewController в swift

У меня есть переменная "NameofCircle" на LocationVC ViewController, и у меня есть переменная CName на этом контроллере. Я хочу передать значение CName в LocationVC Controller с помощью popToViewController. Я попробовал приведенный ниже код, но не получил результат.

let viewControllers = self.navigationController!.viewControllers
    for aViewController in viewControllers
    {
        if aViewController is LocationVC
        {
           let Location = LocationVC()
            Location.NameofCircle = CName
    _ = self.navigationController?.popToViewController(aViewController, animated: true)
            }
}

3 ответа

Решение

Попробуй это.

let viewControllers = self.navigationController!.viewControllers
  for var aViewController in viewControllers
  {
  if aViewController is LocationVC
     {
        let aVC = aViewController as! LocationVC
        aVC.NameofCircle = CName
        _ = self.navigationController?.popToViewController(aVC, animated: true)
     }
  }

другой выбор для передачи значения в Root ViewController

if let   myController  = self.navigationController?.viewControllers[0] as? LocationVC
  {
    myController.NameofCircle = CName
   _ =  self.navigationController?.popToViewController(myController, animated: true)
    }

Стриж 4,5

Вы можете использовать с кодом.

       let viewControllers = self.navigationController!.viewControllers
            for aViewController in viewControllers
              {
              if aViewController is SelectDeviceToGroup
                 {
                    let selecteDevicesVc = aViewController as! SelectDeviceToGroup
                    selecteDevicesVc.isEditSelected = true
                    selecteDevicesVc.selectedDevices = self.selectedDevicesIds
                    _ = self.navigationController?.popToViewController(selecteDevicesVc, animated: true)
                 }
              }

Просто замените свою строку:

_ = self.navigationController?.popToViewController (aViewController, animated: true)

с этим:

_ = self.navigationController?.popToViewController (Местоположение, анимированное: true)

Другие вопросы по тегам