ocultar / mostrar barra de pestañas cuando se presiona / retrocede. rápido

Respuesta: Use self.tabBarController? .TabBar.hidden en lugar de hidesBottomBarWhenPushed en cada controlador de vista para administrar si el controlador de vista debe mostrar una barra de pestañas o no.

override func viewWillAppear(animated: Bool) {
    self.tabBarController?.tabBar.hidden = true/false
} 

yo quiero

Controlador de vista 1: se debe mostrar la barra de pestañas

ver controlador 2: se debe mostrar la barra de pestañas

Controlador de vista 3: la barra de pestañas no debe mostrarse.

Controlador de vista 4: la barra de pestañas no debe mostrarse.

escribí

// prepareForSegue in view controller 1, 
    let upcoming = segue.destinationViewController as! viewcontroller3
    upcoming.hidesBottomBarWhenPushed = true

// in view controller 3,
    func clickOnButton(button: UIButton) {
        self.hidesBottomBarWhenPushed = false
        self.performSegueWithIdentifier("viewController2", sender: self)
        self.hidesBottomBarWhenPushed = true
    }
    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        if segue.identifier == "viewController2" {
            let upcoming = segue.destinationViewController as! viewController2
            upcoming.hidesBottomBarWhenPushed = false
        }
    }
// prepareForSegue in view controller 2
    let upcoming = segue.destinationViewController as! viewController4
    upcoming.hidesBottomBarWhenPushed = true

si 1 -> 3 luego de vuelta a 1, funciona.

si 1 -> 3 -> 2, luego volver a 3 y volver a 1, funciona.

si 2 -> 4, luego volver a 2, funciona.

si 1 -> 3 -> 2 -> 4 luego de vuelta a 2, la barra de pestañas no se muestra. Preguntándome por qué. Cualquier sugerencia o alguna explicación de ocultaBottomBarWhenPushed ya que me confunde mucho

Respuestas a la pregunta(3)

Su respuesta a la pregunta