1

I have a custom segmented control which passes in different strings into a function in a separate class which then sets the text to a UITextField & UITextView. The thing I don't understand is I can make different selections from the Segmented Control and the correct values are printed out but when I try and set the values to the TextField and TextView I get "Unexpectedly found nil while unwrapping an Optional value". Any help would be much appreciated.

 //FirstViewController
  override func viewDidLoad() {
    super.viewDidLoad()
    NameOfPost.text = "Name Your SKill"
    DescriptionOfPost.text = "Enter Skill Description"

}


func setDescriptionText(setSelectedText: String){
    print("\(setSelectedText)")
    DescriptionOfPost.text = setSelectedText

}

func setNameText(setSelectedText: String){
    print("\(setSelectedText)")
    NameOfPost.text = setSelectedText
}



//@IBDesignable class HBSegmentedControl
 func displayNewSelectedIndex(){

    let setSkillDescriptionText = "Skill Description text"
    let setTipDescriptionText = "Tip Description text"
    let setStoryDescriptionText = "Story Description text"

    let setSkillNameText = "Name Your Skill"
    let setTipNameText = "Name Your Tip"
    let setStoryNameText = "Name Your Story"


    let storyboard: UIStoryboard =
        UIStoryboard.init(name: "Main",bundle: nil);

    let firstViewController:
        ComposeViewController = storyboard.instantiateViewController(withIdentifier: "ComposeViewController") as! ComposeViewController;


    //call setDescriptionText & setNameText from the first view controller and pass in the selected name & description
    if selectedOption == 0 {
        print("Skill")
        firstViewController.setDescriptionText(setSelectedText: setSkillDescriptionText)
        firstViewController.setNameText(setSelectedText: setSkillNameText)

    }else if selectedOption == 1{
        print("Tip")
        firstViewController.setDescriptionText(setSelectedText: setTipDescriptionText)
        firstViewController.setNameText(setSelectedText: setTipNameText)


    }else if selectedOption == 2{
        print("Famous-Faces")
        firstViewController.setDescriptionText(setSelectedText: setStoryDescriptionText)
        firstViewController.setNameText(setSelectedText: setStoryNameText)

    }



}

0 Answers0