2016-03-22 6 views
0

Wie stelle ich sicher, dass ich selectedFocus an meinen nächsten View-Controller in prepareForSeque sende? (oder eine Variable basierend auf dem Teil der segmentierten Steuerschaltfläche in PrepareForSeque zuweisen?) "Use of unresolved identifier 'segmentedControlVariable" ist mein Fehler.Wie sende ich segmentierte Kontrollvariable zur Vorbereitung?

class SecondSignUpViewController: UIViewController { 

    // DECLARATIONS... 

    // user's focus to be sent to next view contr. 
    var selectedFocus = String() 

    // 1. LOAD IN SENT VARS (so that it exists in this view) (at top it seems oposed to in viewdidload?...) 
    var passedPassword_toView2:String! 
    var passedUsername_toView2:String! 
    var passedEmail_toView2:String! 

    @IBAction func continueButtonPressed2(sender: AnyObject) { 
     performSegueWithIdentifier("SegueAfterJoin2", sender: self) 
    } 



@IBAction func indexChanged(sender: AnyObject) { 
    switch segmentedControl.selectedSegmentIndex { 
    case 0: 
     print("case0") 
     textLabel.text = "You are a music artist who needs services."; 
     imageShown.image = image0 
     selectedFocus = "artist" 
    case 1: 
     print("case1") 
     textLabel.text = "You want to share your talent with music artists."; 
     imageShown.image = image1 
     selectedFocus = "provider" 
    default: 
     break; 
    } 
} 

// VAR SHIFT 
// GET FROM PREV. VIEW 
override func viewDidLoad() { 
    super.viewDidLoad() 
    print("view 2 loaded") 

    // 2. (for ease,) TRANSFER TO VAR NAMES 
    var myLocalPassword = passedPassword_toView2 
    var myLocalUsername = passedUsername_toView2 
    var myLocalEmail = passedEmail_toView2 

} 

// 3. SEND VARS TO NEW VIEW 
override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) { 
    if (segue.identifier == "SegueAfterJoin2") { 
     var nextViewCont = segue!.destinationViewController as! ThirdSignUpViewController; 

     // PASS VARS FROM THIS VIEW TO NEXT 
     nextViewCont.passedPassword_toView3 = passedPassword_toView2 
     nextViewCont.passedEmail_toView3 = passedUsername_toView2 
     nextViewCont.passedUsername_toView3 = passedEmail_toView2 

     //how can I toss this in too? 
     nextViewCont.passedFocus_toView3 = selectedfocus 

    } 
} 
+0

Was ist das Problem, das Sie jetzt konfrontiert sind? Kannst du den selectedFocus an nextViewCont übergeben, so wie du andere an View2 vars übergibst? –

+0

Ja ich bin mir nicht sicher, wie ich das angehen könnte –

+0

"Verwendung von nicht aufgelösten Bezeichner 'segmentedControlVariable'" ist der Fehler, den ich bekomme –

Antwort

1

auf Ihrem thirdviewcontroller erstellt Ihnen die passedFocus_toView3 Variable

tun wie

auf Ihrem ersten View-Controller namens diese

override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) { 
    if (segue.identifier == "YourSegueName") { 
     //get a reference to the destination view controller 
     let destinationVC:ViewControllerClass = segue.destinationViewController as! ViewControllerClass 

     //set properties on the destination view controller 
     destinationVC.passedFocus_toView3 = selectedfocus 
     //etc... 
    } 
}