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
}
}
}
を。 'data'は別の関数の名前です。 –
それは私の問題を解決しました。ご協力ありがとうございます。 – Rvfvl