【Swift】TextFieldへ入力した後にReturnキーを押して、入力内容をlabelに表示したい
今回が初投稿なので、見づらい点や見苦しいところなどはご了承ください。
TextFieldに文字を入力し、Returnキーを押すとlabelに入力内容が表示される。
またその入力内容はUserDefaultによってアプリ終了後も保存され、再起動するとそれを読み込みlabelに表示する、
発生している問題・エラーメッセージ
TextFieldへ入力した後にReturnキーをおしても、textFieldShouldReturnメソッドが実行されない
該当のソースコード
Swift
1 2import UIKit 3 4class ViewController: UIViewController, UITextFieldDelegate { 5 6 @IBOutlet weak var showLabel: UILabel! 7 @IBOutlet weak var textField: UITextField! 8 9 let userDefaults = UserDefaults.standard 10 var content: String? 11 12 override func viewDidLoad() { 13 super.viewDidLoad() 14 // Do any additional setup after loading the view, typically from a nib. 15 16 let lastMyData: String? = userDefaults.object(forKey: "myData") as? String 17 18 if let lastMyDataStr = lastMyData { 19 textField.text = lastMyDataStr 20 } else { 21 return 22 } 23 textField.delegate = self 24 } 25 26 func textFieldShouldReturn(_ textField: UITextField) -> Bool { 27 28 content = textField.text! 29 showLabel.text = content 30 userDefaults.set(content, forKey: "myData") 31 userDefaults.synchronize() 32 textField.resignFirstResponder() 33 34 return true 35 } 36 37}
試したこと
UserDeafultによる保存機能が邪魔しているのかもしれないと思い、それらを取り除くと問題なくtextFieldShouldReturnメソッドは実行されました。
補足情報(FW/ツールのバージョンなど)
Xcode 10.1
Swift 4.2.1
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/19 00:11
2019/01/19 00:23
2019/01/19 05:12