tableview - How to send didSelectRowAtIndexPath back to view controller in swift -



tableview - How to send didSelectRowAtIndexPath back to view controller in swift -

i have 1 viewcontroller , 1 tableviewcontroller in swift. can send nsmutablearray viewcontroller populate tableviewcontroller using segue. not know how send selected row view controller. code far:

override func tableview(tableview: uitableview, didselectrowatindexpath indexpath: nsindexpath) { println("you selected cell #\(indexpath.row)!") // missing code sending selected row self.dismissviewcontrolleranimated(true, completion: nil) }

any ideas?

you can utilize delegation pattern. create protocol:

protocol mydatadelegate { didselectrow(row: nsindexpath, data: mydata) }

in table controller, add together property:

var mydatadelegate: mydatadelegate?

and in didselectrowatindexpath phone call delegate method:

override func tableview(tableview: uitableview, didselectrowatindexpath indexpath: nsindexpath) { println("you selected cell #\(indexpath.row)!") allow info = getdataforrow(indexpath) // <== need implement self.mydatadelegate?.didselectrow(indexpath, data: data) self.dismissviewcontrolleranimated(true, completion: nil) }

next, in main view controller:

implement mydatadelegate protocol implement mydatadelegate.didselectrow method right before presenting table controller (or after creating it, if manually it), set mydatadelegate property of table controller self

this way, when row selected in table controller, didselectrow method called on main view controller, can whatever need index path and/or data.

of course of study sense free alter didselectrow signature (use indexpath, or row index, or without data, etc.)

swift tableview

Comments

Popular posts from this blog

xslt - DocBook 5 to PDF transform failing with error: "fo:flow" is missing child elements. Required content model: marker* -

mediawiki - How do I insert tables inside infoboxes on Wikia pages? -

Local Service User Logged into Windows -