###前提・実現したいこと
swift 初心者です。イベントの受け方を調べていると、デリゲートについての解説があり理解できない部分があり、質問させていただきます。
xcodeのstoryboardに「Label」と「TextField」を貼り付け、「TextField」に入力した文字を、「Label」に表示させるようにするとき、「TextField」のeventを「Editing Change」にすると、returnキーを押してもキーボードが隠れないので、デリゲートでreturnキーを押した時に発生する「textFieldShouldReturn」イベントを受けるようにするというものです。デリゲート処理説明の鉄板だと思われますが、下記の .delegate = self の部分で質問です。左辺の.delegate はプロコトルUITextFieldDelegate、右辺のselfはViewControllerのインスタンスで、UITextFieldDelegateを批准していますが他にも変数myLabelを持っています。これが = で代入文が書けるのが理解できません。キャストされると考えるのでしょうか?
初心者の質問でおかしなことをきいているのかもしれませんが、よろしく御願いいたします。
###該当のソースコード
class ViewController: UIViewController,UITextFieldDelegate{
@IBOutlet weak var myLabel: UILabel!
@IBOutlet weak var myTextField: UITextField!
@IBAction func myTextFieldEvent(sender: UITextField) {
myLabel.text = sender.text
}
override func viewDidLoad() {
super.viewDidLoad()
myTextField.delegate = self ← ここ
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}func textFieldShouldReturn(textField:UITextField) -> Bool {
//キーボードを隠す
self.view.endEditing(true)
return false
}
}
###試したこと
###補足情報(言語/FW/ツール等のバージョンなど)
回答3件
あなたの回答
tips
プレビュー