iOS Swift3 check nil value for ViewController Object

前端 未结 6 1841
面向向阳花
面向向阳花 2021-01-28 09:16
let viewControllers: [UIViewController] = self.navigationController!.viewControllers

for VC  in viewControllers  {            
    if (VC.isKind(of: HomeViewController.         


        
6条回答
  •  萌比男神i
    2021-01-28 09:47

    let getCurrentVCIndex = self.navigationController?.viewControllers.indexOf({ (viewController) -> Bool in
    
    if let _ = viewController as? HomeViewController {
        return true
    }
    return false
    })
    
    
    if  getCurrentVCIndex
     {
    let HomeVC = self.navigationController?.viewControllers[getCurrentVCIndex!] as! HomeViewController
    
    self.navigationController?.popToViewController(HomeVC, animated: true)
    }
    else
      {
     // use push
    }
    

    or use like

    if  let  HomeVC =  self.navigationController?.viewControllers.filter({$0 is HomeViewController}).first
    {
    self.navigationController?.popToViewController(HomeVC!, animated: true)
    }else
    {
      // use push
    }
    

提交回复
热议问题