ios - setting destinationviewcontroller's label's text in prepareForSegue throws error: unexpectedly found nil while unwrapping Optional value -
i sure string not nil , label exists, trying find out why text in label nil. other members of destinationviewcontroller getting set correctly , add line set label program crashes.
// mark segue override func prepareforsegue(segue: uistoryboardsegue, sender: anyobject?) { // reference destination view controller var detailvc = segue.destinationviewcontroller as! detailviewcontroller var detailimages: array<uiimage> = [] detailimages.append(uiimage(named: "pup.jpg")!) detailimages.append(uiimage(named: "dog.png")!) // set property selected location when view // detail view controller loads, can access property feeditem obj detailvc.selectedlocation = _selectedlocation; println(_str!) detailvc.mylabel.text = "hello" }
this because outlet mylabel not set in prepareforsegue, nil. try below approach instead,
create string var in detailviewcontroller like,
var labeltext: string? in prepareforsegue
override func prepareforsegue(segue: uistoryboardsegue, sender: anyobject?) { // reference destination view controller var detailvc = segue.destinationviewcontroller as! detailviewcontroller var detailimages: array<uiimage> = [] detailimages.append(uiimage(named: "pup.jpg")!) detailimages.append(uiimage(named: "dog.png")!) // set property selected location when view // detail view controller loads, can access property feeditem obj detailvc.selectedlocation = _selectedlocation; println(_str!) detailvc.labeltext = "hello" } and in viewdidload of detailviewcontroller
override func viewdidload() { super.viewdidload() self.mylabel.text = labeltext // additional setup after loading view. }
Comments
Post a Comment