2017-08-11 1 views
0

Je veux passer la valeur à mon viewcontroller et garder mon flux de navigation.comment passer la valeur au contrôleur de navigation

J'ai créé navigationController qui ouvre mon PostJobVC.

Lorsque j'appelle cela, cela fonctionne mais la navigation ne fonctionne pas.

let vc : PostJobVC = UIStoryboard.instantiateController(forModule: SFStoryBoard.job) 
     vc.history = history 
     self.navigationController?.present(vc, animated: true, completion: nil) 

Pour cette raison, je suis l'ouverture NavigationController (nom est jobnav)

let storyboard = UIStoryboard(name: SFStoryBoard.job.rawValue, bundle: nil) 
     let controller = storyboard.instantiateViewController(withIdentifier: "JobNav") 
     self.present(controller, animated: true, completion: nil) 

Comment pourrais-je passer l'objet d'histoire à travers PostJobVC JobNav automatiquement.

+0

Vous devez sous-classer le contrôleur de navigation et transmettre des données à cette classe! –

+0

@TejaNandamuri Je n'ai pas compris pourriez-vous s'il vous plaît mettre du code ici? – pmb

+1

Vous transmettez des données du contrôleur de vue qui pousse le nouveau contrôleur de vue. Ce n'est pas le travail du contrôleur de navigation d'être un intermédiaire pour le transport de données entre les contrôleurs dans sa pile. – Abizern

Répondre

-1

Sous-contrôleur de navigation et transmettre des données à ce contrôleur:

var navCon: MyNavigationController? = storyboard.instantiateViewController(withIdentifier: "") 

Déclare une propriété:

var dataToSend: String = "" 

vous pouvez envoyer des données à dataToSend

navCon.dataToSend = "hello" 

Dans le MyNavigationController, Vous pouvez ensuite transmettre cette valeur à l'un des contrôleurs de vue de la pile de navigation.