2016-05-14 3 views
0

私は自分のtableviewcontrollerでtableviewcellをクリックすると、別のviewcontrollerにseguesし、コントローラ内のuitextフィールドを自動的に塗りつぶして、セグメンテーションしています。uitableviewcellをクリックしてviewcontrollerをシークし、選択したセル内のテキストをuitextfieldに入力します。

私はそれがこの方法このコントローラでクリック

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 



} 

Exercise TableView Controller

から開始すると、セル内のテキストを使用しています

Add Exercise TableView Controller

が持つ運動のUITextFieldを塗りつぶし考えていた

テキスト

Swift btwで。ありがとう。

+0

あなたは正確にあなたがこれまでにしようとしているものを、より多くの努力を示さなければなりませんか?あなたはどこにいるのですか? – luk2302

+0

私は前にこれを行いましたが、それはかなりまともな量のコードを必要とします。今すぐ近くにいるわけではないので、これ以上調べる必要があります –

答えて

1
  1. ストーリーボードにセグエを作成し、それを識別子( "YourSegue")を与える
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 

    let text = "Your text" 
    performSegueWithIdentifier("YourSegue", sender: text) 
} 
  • そしてこの関数を呼び出します
  • override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
           if segue.identifier == "YourSegue" { 
            let yourOtherVC = segue.destinationViewController as? YourOtherViewController 
           if let text = sender as? String { 
           yourOtherViewController?.text = text  
         } 
        } 
        } 
    
    1. この変数は、表示するViewController(YourOtherViewController)に入れます。
    var text: String 
    
    override func viewDidLoad() { 
    super.viewDidLoad() 
    
    if text != nil { 
    yourTextField.text = text 
    
        } 
    
    } 
    
    +0

    助けてくれてありがとう。私のYourOtherViewControllerにのみ問題があります。「条件内の変数バインディングには初期化子が必要です」という問題があります。それはそれが無償のためのオプションではないという事実のためですか? –

    +0

    こんにちは@Nateグラント、あなたは全体のエラーを貼り付けることができますか?しかし、これを試してみてください(もしtext!= nil {yourTextField.text = text} else {print( "Something")} –

    +0

    そして(var text:String!) –

    関連する問題