ios - Using Swift in a master-detail app, how can i programmatically switch detail views? -
ios - Using Swift in a master-detail app, how can i programmatically switch detail views? -
i thought i'd have go @ building ipad app using swift. app i'm mucking around master-detail app. in master table have 2 rows: "window1" , "window2" , 2 detail views. have created storyboard segue 2 detail views (1 beingness default one). 2 segues called "showdetail" , "showwindow2".
a video watching on youtube used next code direct user master tab appropriate detail page:
override func numberofsectionsintableview(tableview: uitableview) -> int { homecoming 1 } override func tableview(tableview: uitableview, numberofrowsinsection section: int) -> int { homecoming 2 } override func tableview(tableview: uitableview, diddeselectrowatindexpath indexpath: nsindexpath) { var row = indexpath.row switch row { case 1: self.performseguewithidentifier("showdetail", sender: self) default: self.performseguewithidentifier("showwindow2", sender: self) } }
which works when have 2 rows in master page. above code doesn't seem work when have 3 rows on master page (by adding row label "window3"):
override func numberofsectionsintableview(tableview: uitableview) -> int { homecoming 1 } override func tableview(tableview: uitableview, numberofrowsinsection section: int) -> int { homecoming 3 } override func tableview(tableview: uitableview, diddeselectrowatindexpath indexpath: nsindexpath) { var row = indexpath.row switch row { case 1: self.performseguewithidentifier("showdetail", sender: self) case 2: self.performseguewithidentifier("showwindow2", sender: self) default: self.performseguewithidentifier("showwindow2", sender: self) } }
the issue think i'm having value of "row" seems alter depending on row on. mean when debugging, row value when selecting either "window1", "window2", or "window3" seems vary between 0, 1, , 2 , code not result in right detail page beingness shown.
i don't know i'm missing here. can please help me out?
your switch statement seems wrong.
switch row{ case 1: self.performseguewithidentifier("showdetail", sender: self) case 2: self.performseguewithidentifier("showwindow2", sender: self) default: self.performseguewithidentifier("showwindow2", sender: self) }
in switch statement utilize self.performseguewithidentifier(“showwindow2”, sender: self)
utilize same segue utilize default row (which used if press first row).
changing case 2
segue segue show 3rd detail view should solve problem
furthermore utilize case 0
see if pressed first row. although solution work, if first row pressed fire default
statement, if have case 0
fired if press first row instead of default. result in having default
grab errors
ios xcode swift master-detail
Comments
Post a Comment