Передать значение переменной с помощью 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)