ios - How to pass content of UITextField to another UITableViewController linked by UITabbarController -


i new ios development in swift 3 , encountering trouble. in picture below have 2 uitableviewcontrollers textfield in first 1 . 2 tableviews linked tabbarcontroller , recover content of textfield use in secondtableviewcontroller. dont know how it, common tutorials data passing explain button action recover data in changing tableview if possible.

i hope clear in question.

here in first uitableviewcontroller:

class investmenttableviewcontroller: uitableviewcontroller, uitabbarcontrollerdelegate  var somevariable: float?  override func viewdidload() {       super.viewdidload()      self.tabbarcontroller?.delegate = self }    func tabbarcontroller(_ tabbarcontroller: uitabbarcontroller, shouldselect viewcontroller: uitableviewcontroller) -> bool {      let selectedvc:extrachargestableviewcontroller = viewcontroller as! extrachargestableviewcontroller     selectedvc.totalinvest = self.somevariable      return true  } 

in other tabview

class extrachargestableviewcontroller: uitableviewcontroller {   var totalinvest: float? 

i dont know how resolve issue. enter image description here

let's assume have tabbar based project 2 view controller firstvc , secondvc there. in firstvc have textfield, , want textfiled use in secondvc. can pass textfields in shouldselectviewcontroller delegate method. here firstvc should like

class firstviewcontroller: uiviewcontroller,uitabbarcontrollerdelegate {      @iboutlet weak var txtfldfirst: uitextfield!      override func viewdidload() {         super.viewdidload()         // additional setup after loading view, typically nib.          self.tabbarcontroller?.delegate = self;     }      override func didreceivememorywarning() {         super.didreceivememorywarning()         // dispose of resources can recreated.     }      func tabbarcontroller(tabbarcontroller: uitabbarcontroller, shouldselectviewcontroller viewcontroller: uiviewcontroller) -> bool     {         nslog("view controller descriptionn should select = %@", viewcontroller.description);         let selectedvc:secondviewcontroller = viewcontroller as! secondviewcontroller         selectedvc.txtfld = self.txtfldfirst           return true;     } 

and secondvc should this

class secondviewcontroller: uiviewcontroller {      var txtfld : uitextfield!      override func viewdidload() {         super.viewdidload()         // additional setup after loading view, typically nib.          nslog("text fld = %@", txtfld.text);     } 

output text of textfield present in firstvc.

for uitableviewcontroller, follow same way

import uikit  class firsttableviewcontroller: uitableviewcontroller,uitabbarcontrollerdelegate {      var txtfldfirst:uitextfield!      override func viewdidload() {         super.viewdidload()          // uncomment following line preserve selection between presentations         // self.clearsselectiononviewwillappear = false          // uncomment following line display edit button in navigation bar view controller.         // self.navigationitem.rightbarbuttonitem = self.editbuttonitem()          txtfldfirst = uitextfield(frame: cgrectmake(20, 100, 150, 30));         txtfldfirst.text = "hello world"         self.view.addsubview(txtfldfirst);          self.tabbarcontroller?.delegate = self;     }       func tabbarcontroller(tabbarcontroller: uitabbarcontroller, shouldselectviewcontroller viewcontroller: uiviewcontroller) -> bool     {         nslog("view controller descriptionn should select = %@", viewcontroller.description);         let selectedvc:secondtableviewcontroller = viewcontroller as! secondtableviewcontroller         selectedvc.txtfld = self.txtfldfirst           return true;     } 

second tablevc

import uikit  class secondtableviewcontroller: uitableviewcontroller {      var txtfld:uitextfield!      override func viewdidload() {         super.viewdidload()          // uncomment following line preserve selection between presentations         // self.clearsselectiononviewwillappear = false          // uncomment following line display edit button in navigation bar view controller.         // self.navigationitem.rightbarbuttonitem = self.editbuttonitem()           nslog("text fld text = %@", self.txtfld.text);     } 

happy coding ...


Comments

Popular posts from this blog

amazon web services - S3 Pre-signed POST validate file type? -

c# - Check Keyboard Input Winforms -