https://qiita.com/ryomaDsakamoto/items/ab4ae031706a8133f193
上記のサイトにあるコードを実行したのですがどうしても
”dateField.inputView = datePicker”の箇所で以下のメッセージがが出ます。
Unexpectedly found nil while implicitly unwrapping an Optional value
いろいろ調べて試してみたのですが、解決に至っていません。
dataFieldがnilになったままアンラッピングしようとしているせいだと思いますが、、、
お手数ですが、コードのどこをどう変更したらいいかご助言よろしくお願いします。
以下コードの写しになります。
import UIKit class ViewController: UIViewController { //UITextfieldに紐づいてる @IBOutlet weak var dateField: UITextField! //UIDatePickerを定義するための変数 var datePicker: UIDatePicker = UIDatePicker() override func viewDidLoad() { super.viewDidLoad() // ピッカー設定 datePicker.datePickerMode = UIDatePicker.Mode.date datePicker.timeZone = NSTimeZone.local datePicker.locale = Locale.current dateField.inputView = datePicker // 決定バーの生成 let toolbar = UIToolbar(frame: CGRect(x: 0, y: 0, width: view.frame.size.width, height: 35)) let spacelItem = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: self, action: nil) let doneItem = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(done)) toolbar.setItems([spacelItem, doneItem], animated: true) // インプットビュー設定(紐づいているUITextfieldへ代入) dateField.inputView = datePicker dateField.inputAccessoryView = toolbar } // UIDatePickerのDoneを押したら発火 @objc func done() { dateField.endEditing(true) // 日付のフォーマット let formatter = DateFormatter() //"yyyy年MM月dd日"を"yyyy/MM/dd"したりして出力の仕方を好きに変更できるよ formatter.dateFormat = "yyyy年MM月dd日" //(from: datePicker.date))を指定してあげることで //datePickerで指定した日付が表示される dateField.text = "(formatter.string(from: datePicker.date))" } }
せっかくプレビュー画面があるので、
コードは上下を 「```」で囲んで、改行をきちんと挟み
インデント(コードの{ を開くところと閉じるところ)を
揃えた形式にしてもらえませんか?
例えばこのように
https://teratail.com/questions/217832