###前提・実現したいこと
前回こちらのurlで質問していたものですが(https://teratail.com/questions/72392)
現在のアラートに加え、
ninzuuのtextFieldが「1以下」の場合、
「人数は2名以上にしてください」というアラートのメッセージを出したいです。
###該当のソースコード
import
1 2class ViewController: UIViewController , UITextFieldDelegate { 3 //合計金額を入力するフォーム 4 @IBOutlet weak var goukeikingaku: UITextField! 5 @IBOutlet weak var ninzuu: UITextField! 6 @IBOutlet weak var result: UILabel! 7 8 override func viewDidLoad() { 9 super.viewDidLoad() 10 // Do any additional setup after loading the view, typically from a nib. 11 //delegateの所在を書く 12 goukeikingaku.delegate = self 13 ninzuu.delegate = self 14 //数字のみを記載できるように指定 15 ninzuu.keyboardType = .numberPad 16 goukeikingaku.keyboardType = .numberPad 17 } 18 19 override func didReceiveMemoryWarning() { 20 super.didReceiveMemoryWarning() 21 // Dispose of any resources that can be recreated. 22 } 23 24 @IBAction func resultButton(_ sender: Any) { 25 26 if (goukeikingaku.text ?? "").isEmpty || (ninzuu.text ?? "").isEmpty { 27 //UIAlertControllerインスタンスの作成 28 let alertController = UIAlertController(title: "エラー", message: "合計金額又は、人数が未入力です。", preferredStyle: .alert) 29 //追加するアクションの設定 30 let ryoukaiAction = UIAlertAction(title: "了解", style: .default, handler: nil) 31 //設定したアラートアクションをUIAlertControllerに追加する 32 alertController.addAction(ryoukaiAction) 33 //アラートを表示 34 present(alertController, animated: true, completion: nil) 35 36 } else { 37 guard let pricetext = goukeikingaku?.text, let price = Int(pricetext) else{ 38 return 39 } 40 guard let numbertext = ninzuu?.text, let number = Int(numbertext) else{ 41 return 42 } 43 // 入力値を取得 44 let intNinzuu = Int(ninzuu.text!)! 45 let intGoukeikingaku = Int(goukeikingaku.text!)! 46 // 総金額/人数 = 一人あたり 47 let intResult = intGoukeikingaku / intNinzuu 48 //ラベルに結果を表示 49 result.text = "\(intResult)円" 50 51 // キーボードを閉じる 52 view.endEditing(true) 53} 54} 55} 56
###試したこと
@IBActionfuncresultButtonの後の上記のコードを一度全部消して、
terataliの他URLを参考にして作ってみたり、ネット検索で探して見たりしてみましたが、自分のスキル不足から、どうしてもうまく作ることができませんでした。
###補足情報(言語/FW/ツール等のバージョンなど)
swift
あなたの回答
tips
プレビュー