ios - Calling Other ViewController opens a black screen -


i have begun development of ios in swift, , stuck on 1 thing. want pass string value 1 viewcontroller other.

1st view controller

// on tablecell click    func tableview(tableview: uitableview, didselectrowatindexpath indexpath: nsindexpath) {                commonfunctions.setdefaults("a", value: arr[indexpath.row])         let viewcontroller = secondview(passeddata:arr[indexpath.row])         self.presentviewcontroller(viewcontroller, animated: true, completion: nil)  } 

2nd viewcontroller

var test:string   init(passeddata:string){      self.test = passeddata      super.init(nibname: nil, bundle: nil) }  required init?(coder adecoder: nscoder) {     fatalerror("init(coder:) has not been implemented") }  override func viewdidload() {     super.viewdidload()     print(commonfunctions.getdefaults("a")) } 

i getting string in 2nd viewcontroller problem getting black screen.

you getting black screen because initialising secondviewcontroller code let viewcontroller = secondview(passeddata:arr[indexpath.row]).

this invoking custom initalizer created not loading view property of secondviewcontroller.

there several approaches solve this:

if using storyboard should instead of manually initializing view controller use segue , pass data on prepareforsegue.

performseguewithidentifier("the identifier of segue on storyboard", sender: nil)  override func prepareforsegue(segue: uistoryboardsegue, sender: anyobject?) {     if segue.identifier == "the identifier of segue on storyboard" {         let secondviewcontroller = segue.destinationviewcontroller as! secondviewcontroller         secondviewcontroller.passeddata = //data     } } 

if using xibs should use

let secondviewcontroller = secondviewcontroller(nibname: "name of nib file", bundle: nsbundle.mainbundle()) secondviewcontroller.passeddata = //data 

or add on custom initialiser nib name of nib:

init(passeddata:string){      self.test = passeddata      super.init(nibname: /*add nib name here*/, bundle: nil) } 

Comments

Popular posts from this blog

sql - VB.NET Operand type clash: date is incompatible with int error -

SVG stroke-linecap doesn't work for circles in Firefox? -

python - TypeError: Scalar value for argument 'color' is not numeric in openCV -