こんにちは!プログラミング初心者で現在swiftでアプリ制作をしています。
至らないところも多々ありますが、ご教示いただけたら嬉しいです。
前提・実現したいこと
textfieldにnilがある場合に他の値を代入してボタンのアクションを行いたいです。
CupOfBeer[textField]にnilが入っていたとしても、0を代入して保存されるようにしたいです。
現在、textFieldを空欄でDone[Button]を押すと、
SecondViewControllerの
//データ型の変換
let beernumber = CupOfBeer.text
let beernum = Int(beernumber!)!
let highballnumber = CupOfHighball.text
let highballnum = Int(highballnumber!)!
の部分でFatal error: Unexpectedly found nil while unwrapping an Optional valueが出てしまします。
該当のソースコード
swift
1//Event.swift 2import Foundation 3import RealmSwift 4 5class Event: Object { 6 @objc dynamic var beer: Int = 0 7 @objc dynamic var highball: Int = 0 8 9}
swift
1//SecondViewController.swift 2import UIKit 3import RealmSwift 4 5class SecondViewController: UIViewController{ 6 @IBOutlet weak var CupOfBeer: UITextField! 7 @IBOutlet weak var CupOfHighball: UITextField! 8 9 @IBAction func Done(_ sender: Any) { 10 if CupOfBeer.text == nil || CupOfHighball.text == nil { 11 CupOfBeer.text = "0" 12 CupOfHighball.text = "0" 13 } 14 15 //データ型の変換 16 let beernumber = CupOfBeer.text 17 let beernum = Int(beernumber!)! 18 let highballnumber = CupOfHighball.text 19 let highballnum = Int(highballnumber!)! 20 21 //データ書き込み 22 print("データ書き込み開始") 23 let realm = try! Realm() 24 try! realm.write{ 25 26 let Events = [Event(value: ["beer": beernum, "highball": highballnum])] 27 realm.add(Events) 28 print("データ書き込み中") 29 } 30 print("データ書き込み完了") 31 32 } 33 } 34 35
補足情報(FW/ツールのバージョンなど)
Xcode Version 10.1
Swift version 4.2.1
回答2件
あなたの回答
tips
プレビュー