ios - How To Identify Which Button, Of Many, Triggered Single Storyboard Segue -


i have 77 buttons on 1 view. these 77 buttons in collection outlet. buttons wired trigger same segue. segue presents detailviewcontroller information passed button. need know button triggered segue know data pass detail controller.

i set tag in viewdidload method:

override func viewdidload() {     super.viewdidload()      self.containerview.backgroundcolor = uicolor.blackcolor()      var count = 0      item in buttonoutlets {          item.layer.cornerradius = 2.0         item.layer.borderwidth = 2.0         item.tag = count         item.layer.bordercolor = uicolor.yellowcolor().cgcolor         item.addtarget(self, action: selector("handlebuttonpress"), forcontrolevents: uicontrolevents.touchupinside)          count = count + 1         println(item.tag)   // prints correct tag numbers      }      self.fetchallobjects()  } 

this prepareforsegue:

override func prepareforsegue(segue: uistoryboardsegue, sender: anyobject?) {     var upcoming: itemdetail = segue.destinationviewcontroller as! itemdetail  if (segue.identifier == "loaddetailview") {  println(buttonoutlets[1].tag) // prints correct tag number      let objectplace = sender?.tag     upcoming.parseobject = collectionobjects[objectplace!] as? pfobject } 

the answer lies in item.addtarget. action selector calls handlebuttonpress. original button press handler was:

func handlebuttonpress(sender: uibutton) {     self.performseguewithidentifier("loaddetailview", sender: self)         } 

what missing sender: sender:

func handlebuttonpress(sender: uibutton) {           self.performseguewithidentifier("loaddetailview", sender: sender)      } 

then add colon handlebuttonpress call:

 item.addtarget(self, action: selector("handlebuttonpress:"), forcontrolevents: uicontrolevents.touchupinside) 

Comments

Popular posts from this blog

javascript - Bootstrap Popover: iOS Safari strange behaviour -

Magento/PHP - Get phones on all members in a customer group -

Website Login Issue developed in magento -