swift - Segue w/ Tab View Controller Keeps Passing Value -


i working on ios application built around tab view controller. have created "contacts" tab, user can find , select contact list. when user selects contact, takes contact's name , passes different tab. function being done so:

 func passname(name: string) {        let navtab = self.tabbarcontroller!.viewcontrollers![2] as! uinavigationcontroller        let hometab = navtab.viewcontrollers[0] as! maincontroller       hometab.passedname = name       tabbarcontroller?.selectedindex = 2   } 

everything works should far (name loaded text field). issue value seems keep coming every time change tabs , go home tab. example, if select "john" contacts, take me home tab , put john's name in textfield. let's delete last 2 letters of name, "jo". if load different tab , come back, name field has been reset "john". it's if value gets re-passed every time open home tab. also, every time load home tab after passing name, console prints: "name passed: john", shows being processed every single time tab appears. here code processing name:

 var passedname: string!   override func viewwillappear(animated: bool) {     super.viewwillappear(animated)      //checks if name passed controller     if let validname = passedname {         print("name passed: \(validname)")         nametextfield.text = validname     }   } 

am passing data incorrectly? thinking might because have above code being called in viewwillappear method, doesn't make sense, data being passed 1 time contacts tab. thanks!

the problem "passedname" variable doesn't changed value every time edit in uitextfield. keep in mind every time change tabs, uiviewcontroller call viewwillappear , viewdidappear. uitextfield show passedname value once select other tab , return.

i suggest every time edit textfield should update passedname value.

sorry bad english.


Comments

Popular posts from this blog

sql server - Cannot query correctly (MSSQL - PHP - JSON) -

php - trouble displaying mysqli database results in correct order -

C++ Linked List -