2017-04-17 4 views
0

名前や電子メールなどのfacebook値を取得し、対応するテキストフィールドに入力する別の表示コントローラーに転送しようとしています。私はこのコード別の表示コントローラーのテキストフィールドに文字列を割り当てます。

let fbEmail = data["email"] 
let fbName = data["name"] 

func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
     let vc = segue.destination as? CreateAccountVC 
     vc!.emailTxt = self.fbName 
     vc!.fullnameTxt = self.fbEmail 
} 

とテキストフィールドを移入しようとすると、しかし、私はというエラーを受け取る「のUITextFieldを入力するString型を割り当てることができません!」私はテキストフィールドが文字列を取るだけだと思ったので私はここで混乱している(私は非常にコーディング/プログラミングに新しい)。

基本的に、これらの値を1つのビューコントローラで収集して、別のビューコントローラのテキストフィールドに入力するにはどうすればよいですか?どんな助けでも大歓迎です!ありがとう!

答えて

1

エラー理由は、UITextFieldのtextプロパティに割り当てる必要があります。 変数を使用して変数を設定することもできます。そして、コントローラのviewDidLoad機能でtextfieldの値をCreateAccountVCに設定します。あなたがFacebookの値をとる

あなたの最初のコントローラ:

let fbEmail = data["email"] 
let fbName = data["name"] 

func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
    if let vc = segue.destination as? CreateAccountVC { 
      vc.emailTxtValue = self.fbName 
      vc.fullnameTxtValue = self.fbEmail 
    } 
} 

あなたCreateAccountVC:このような

class CreateAccountVC: UIViewController { 
    var emailTxtValue:String? 
    var fullnameTxtValue:String? 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     emailTxt.text = emailTxtValue 
     fullnameTxt.text = fullnameTxtValue 
    } 
} 
+0

うわー、私はそれをキャッチしていないと信じてすることはできません。しかし、私はそれを試して、テキストフィールドには入力されませんでした。私は多分これを行うために間違った関数を使用していますか? – jmoney11944

+0

私は答えを更新しました。 – kkakkurt

+0

これはうまくいきませんでした:( – jmoney11944

関連する問題