2017-10-27 3 views
0

デリゲートを理解しようとしていますが、なぜ未解決の識別子「データ」を使用したのかわかりません。デリゲートを通過したデータにアクセスできない

//This is my sendingVC 

import UIKit 

protocol TextFieldDelegate { 
func userEnteredText(text: String) 
} 

class ViewController: UIViewController { 


@IBOutlet weak var textField: UITextField! 

var delegate: TextFieldDelegate? = nil 

override func viewDidLoad() { 
    super.viewDidLoad() 
} 


@IBAction func sendButton(_ sender: AnyObject) { 
    if delegate != nil { 
     if textField.text != nil { 
      let data = textField.text 
      delegate?.userEnteredText(text: data!) 
     } 
    } 
} 

} 

私の受信VCの問題は次のとおりです。デリゲートが渡すべきデータ変数にアクセスできません。

//This is my receivingVC 
import UIKit 

class SecondViewController: UIViewController, TextFieldDelegate { 

@IBOutlet weak var label: UILabel! 
override func viewDidLoad() { 
    super.viewDidLoad() 

} 

func userEnteredText(text: String) { 
    label.text = data // Use of unresolved identifier 'data' 
} 

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
    if segue.identifier == "sendSegue" { 
     let destVC: ViewController = segue.destination as! ViewController 
     destVC.delegate = self 
    } 
} 

} 
+5

を。 'data'は別の関数の名前です。 –

+0

それは私の問題を解決しました。ご協力ありがとうございます。 – Rvfvl

答えて

0

あなたのコードを更新します。あなたはその関数への入力がない `data`、` text`と呼ばれることを言ったので

func userEnteredText(text: String) { 
    label.text = text 
} 
関連する問題