コード ```### 前提・実現したいこと プログラミング初心者になります。 UIpicker対応のtextfieldを2つ置いて、最初のtextfieldで選択した値によって 次のtextfieldで選択できるpickerの値が変わるものを作成したのですが Thread 1: Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value というエラーコードが出てしまいビルドできません。 どのように対処すればよろしいのでしょうか? ご教授お願いいたします。 ### 発生している問題・エラーメッセージ
active_textfield.text = current_arr[row]
Thread 1: Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value
import UIKit
class ViewController: UIViewController,UITextFieldDelegate,UIPickerViewDelegate,UIPickerViewDataSource {
@IBOutlet weak var text_field_daieria: UITextField! @IBOutlet weak var text_field_chueria: UITextField! let chueria_dic:[String:[String]] = [ "北海道地方":["","北海道"], "東北地方":["","青森県","秋田県","岩手県","宮城県","山形県","福島県"]] let daieria_arr = ["","北海道地方","東北地方"] let chueria_arr = ["","北海道","青森県","秋田県","岩手県","宮城県","山形県","福島県"] let my_pickerView = UIPickerView() var current_arr : [String] = [] var active_textfield : UITextField! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. text_field_daieria.delegate = self text_field_chueria.delegate = self my_pickerView.delegate = self my_pickerView.dataSource = self text_field_daieria.inputView = my_pickerView text_field_chueria.inputView = my_pickerView } func textFieldShouldEndEditing(_ textField: UITextField) -> Bool { active_textfield = textField switch textField{ case text_field_daieria:current_arr = daieria_arr case text_field_chueria: if let daieria = text_field_daieria.text,!daieria.isEmpty{ current_arr = chueria_dic[daieria]! }else{ current_arr = chueria_arr } default:print("default") } my_pickerView.reloadAllComponents() return true } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } func numberOfComponents(in pickerView: UIPickerView) -> Int { return 1 } func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { return current_arr.count } func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? { return current_arr[row] } func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { active_textfield.text = current_arr[row]
}
}
### 試したこと ここに問題に対して試したことを記載してください。 ### 補足情報(FW/ツールのバージョンなど) ```ここに言語を入力 import UIKit class ViewController: UIViewController,UITextFieldDelegate,UIPickerViewDelegate,UIPickerViewDataSource { @IBOutlet weak var text_field_daieria: UITextField! @IBOutlet weak var text_field_chueria: UITextField! let chueria_dic:[String:[String]] = [ "北海道地方":["","北海道"], "東北地方":["","青森県","秋田県","岩手県","宮城県","山形県","福島県"]] let daieria_arr = ["","北海道地方","東北地方"] let chueria_arr = ["","北海道","青森県","秋田県","岩手県","宮城県","山形県","福島県"] let my_pickerView = UIPickerView() var current_arr : [String] = [] var active_textfield : UITextField! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. text_field_daieria.delegate = self text_field_chueria.delegate = self my_pickerView.delegate = self my_pickerView.dataSource = self text_field_daieria.inputView = my_pickerView text_field_chueria.inputView = my_pickerView } //修正箇所 func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool { switch textField{ case text_field_daieria:current_arr = daieria_arr case text_field_chueria: if let daieria = text_field_daieria.text,!daieria.isEmpty{ current_arr = chueria_dic[daieria]! }else{ current_arr = chueria_arr } default:print("default") } my_pickerView.reloadAllComponents() return true } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } func numberOfComponents(in pickerView: UIPickerView) -> Int { return 1 } func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { return current_arr.count } func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? { return current_arr[row] } func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { **active_textfield.text = current_arr[row]**//ここで、Thread 1: Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional valueとエラーが出ます。 } }
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/06/10 06:25
2019/06/10 06:45
2019/06/10 06:50
退会済みユーザー
2019/06/10 06:56
2019/06/10 06:57
2019/06/10 07:06
退会済みユーザー
2019/06/10 07:07
2019/06/10 07:10
2019/06/10 07:11 編集
退会済みユーザー
2019/06/10 07:12
2019/06/10 07:12
退会済みユーザー
2019/06/10 07:22
2019/06/10 07:46
退会済みユーザー
2019/06/10 07:59