前提・実現したいこと
計算機アプリを制作しております。ボタンを押して画面遷移させて答えを表示したいです。
発生している問題・エラーメッセージ
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegatethreadの
thread 1: signal SIGABRT
2020-02-19 01:18:33.018444-0800 Caluculater[12951:629210] Can't find keyplane that supports type 4 for keyboard iPhone-PortraitTruffle-NumberPad; using 25698_PortraitTruffle_iPhone-Simple-Pad_Default
2020-02-19 01:18:33.064502-0800 Caluculater[12951:629210] Can't find keyplane that supports type 4 for keyboard iPhone-PortraitTruffle-NumberPad; using 25698_PortraitTruffle_iPhone-Simple-Pad_Default
2020-02-19 01:18:35.740357-0800 Caluculater[12951:629210] Can't find keyplane that supports type 4 for keyboard iPhone-PortraitTruffle-NumberPad; using 25698_PortraitTruffle_iPhone-Simple-Pad_Default
20
2020-02-19 01:18:37.886132-0800 Caluculater[12951:629210] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UITableViewController loadView] instantiated view controller with identifier "UIViewController-erX-Xc-4h5" from storyboard "Main", but didn't get a UITableView.'
該当のソースコード
//
// ViewController.swift
// Caluculater
//
// Created by Yuta Toba on 2020/02/18.
// Copyright © 2020 Yuta Toba. All rights reserved.
//
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var firstTextField: UITextField! @IBOutlet weak var secondTextField: UITextField! @IBOutlet weak var segmentedControl: UISegmentedControl! @IBOutlet weak var resultLabel: UILabel! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. }
@IBAction func didTapCalculate(_ sender: Any) {
if self.firstTextField.text?.count == 0 { showAlert(title: "警告", message: "上のテキストに文字を入れてください") print("returnしました") return } if self.secondTextField.text?.count == 0 { showAlert(title: "警告", message: "下のテキストに文字を入れてください") print("returnしました") return } let first = Int(self.firstTextField.text ?? "")! let second = Int(self.secondTextField.text ?? "")! var result = 0 switch segmentedControl.selectedSegmentIndex { case 0: result = first + second break case 1: result = first - second break case 2: result = first * second break case 3: result = first / second break default: break } print(result) resultLabel.text = String(result) self.performSegue(withIdentifier: "ResultSegue", sender: result)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if segue.identifier == "ResultSegue"{ let next = segue.destination as? ResultViewController let result = sender as! Int next?.result = result } } func showAlert(title:String, message:String) { let alert:UIAlertController = UIAlertController(title: title, message: message, preferredStyle: .alert) let action:UIAlertAction = UIAlertAction(title: "OK", style: .default, handler: nil) alert.addAction(action) present(alert, animated: true, completion: nil) }
}
試したこと
アウトレイアウトが外れているか確認しましたが、どこにも黄色の警告マークはありませんでした。
画面遷移するために前のview controlerから移動後のview controlershowを選択しshowを設定したあたりからビルドできなくなった気がします。
補足情報(FW/ツールのバージョンなど)
xcode 11.3.1
swift5
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/19 16:23