PickerViewにデフォルト値を設定できない
PickerView
の最初に選択されている値を取得してデータベースに格納しようとしているのですが、データ登録後にデータベースを確認すると中身が空になってしまっています。
また、このViewController
から他のViewController
へ移動しようとすると、「fatal error: unexpectedly found nil while unwrapping an Optional value
」というエラーがログに出力されてアプリが落ちてしまいます。
いまいちまだオプショナル型についても分かってないので、詰まってしまいました。
どうすればPickerView
の初期値を取得して正常に動かすことができるでしょうか?
どなたか分かる方がいれば教えていただきたいです。すみませんが、よろしくお願いします。
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var speechPicker: UIPickerView!
@IBOutlet weak var textField: UITextField!
var dataForSpeechPicker = ["A", "B", "C"]
var registerWordStore = ""
var registerSpeechStore = ""
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func viewDidAppear(animated: Bool) {
speechPicker.selectRow(0, inComponent: 0, animated: true)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
// MARK:- picker
func numberOfComponentsInPickerView(pickerview1: UIPickerView) -> Int {
return 1
}
func pickerView(pickerview1: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return dataForSpeechPicker.count
}
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! {
return dataForSpeechPicker[row]
}
func pickerView(pickerview1: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
registerSpeechStore = dataForSpeechPicker[row]
}
// MARK:- textField
func textFieldShouldReturn(textField: UITextField!) -> Bool{
registerWordStore = textField.text
textField.resignFirstResponder()
return true
}
// MARK:- registerButton
@IBAction func registerWord(sender: AnyObject) {
//データベース登録処理
}