so want achieve form of tableview shown in sketch.
i have mastertableviewcontroller array of people's names. when user selects person 2, presents detail of person 2's details such name, age, location, , status.
if user views , clicks back button, can choose person , view own details different person 2.
i been having trouble past 2 weeks , cannot figure out. been looking on internet nothing. help. or sample swift xcode project in zipped file too.
you can create 1 class holds person data this:
class people { var name: string? var age : int? var location: string? var status: string? init(name: string, age: int, location: string, status: string) { self.name = name self.age = age self.location = location self.status = status } }
after can add data way:
func setuppersons(){ let person1 = people(name: "anna", age: 20, location: "12312321", status: "single") let person2 = people(name: "john", age: 30, location: "12312321", status: "single") let person3 = people(name: "leo", age: 30, location: "12312321", status: "single") let preson4 = people(name: "dharmesh", age: 30, location: "12312321", status: "single") arrayofperson.append(person1) arrayofperson.append(person2) arrayofperson.append(person3) arrayofperson.append(preson4) }
then can display person name tableview cell way:
override func tableview(tableview: uitableview, cellforrowatindexpath indexpath: nsindexpath) -> uitableviewcell { let cell : uitableviewcell = tableview.dequeuereusablecellwithidentifier("cell") as! uitableviewcell let person = arrayofperson[indexpath.row] cell.textlabel?.text = person.name return cell }
you can selected cell index way:
override func tableview(tableview: uitableview, didselectrowatindexpath indexpath: nsindexpath) { selectedindex = indexpath.row }
after can pass data segue way:
override func prepareforsegue(segue: uistoryboardsegue, sender: anyobject?) { if(segue.identifier == "youridentifierinstoryboard") { var detailviewcontroller = (segue.destinationviewcontroller as! detailviewcontroller) let person = arrayofperson[selectedindex] detailviewcontroller.namep = person.name! detailviewcontroller.agep = person.age! detailviewcontroller.locationp = person.location! detailviewcontroller.statusp = person.status! } }
and way can display data of selected person:
class detailviewcontroller: uiviewcontroller { @iboutlet weak var name: uilabel! @iboutlet weak var age: uilabel! @iboutlet weak var location: uilabel! @iboutlet weak var status: uilabel! var namep = "" var agep = 0 var locationp = "" var statusp = "" override func viewdidload() { super.viewdidload() println(namep) name.text = namep age.text = "\(agep)" location.text = locationp status.text = statusp } }
here sample project.
Comments
Post a Comment