****更新****スイフト3:計算フィールドエラー
最新のサガは私にはまだ混乱しています。私がアドバイスしたように、私は数学的計算に従ってコードを順序づけました。私はまだしかし、前と同じように実行エラーを取得しています。添付ファイルをご覧ください。
@IBAction func Calculate(_ sender: AnyObject) {
let firstValue = Double(ZFWinput.text!)
let secondValue = Double(TotalFuelinput.text!)
let thirdValue = Double(TripFuelinput.text!)
let TFO000 = Double(secondValue!)
let TFO004 = Double(secondValue! * 1.004)
let TFO006 = Double(secondValue! * 1.006)
let TFO007 = Double(secondValue! * 1.007)
let TFO010 = Double(secondValue! * 1.01)
let TFO011 = Double(secondValue! * 1.011)
let TFO012 = Double(secondValue! * 1.012)
let TripF000 = Double(thirdValue!)
let TripF004 = Double(thirdValue! * 1.004)
let TripF006 = Double(thirdValue! * 1.006)
let TripF007 = Double(thirdValue! * 1.007)
let TripF010 = Double(thirdValue! * 1.10)
let TripF011 = Double(thirdValue! * 1.11)
let TripF012 = Double (thirdValue! * 1.12)
// *Self Reminder* Calculation for Total Fuel Adjustment with various TDP Loaded
if mainbutton.isOn && fwdbutton.isOn && aftbutton.isOn {
TotalFuelOutput2.text = "\(TFO012)"
}
else if fwdbutton.isOn && aftbutton.isOn {
TotalFuelOutput2.text = "\(TFO012)"
}
else if mainbutton.isOn && fwdbutton.isOn {
TotalFuelOutput2.text = "\(TFO011)"
}
else if mainbutton.isOn && aftbutton.isOn {
TotalFuelOutput2.text = "\(TFO010)"
}
else if aftbutton.isOn {
TotalFuelOutput2.text = "\(TFO006)"
}
else if fwdbutton.isOn {
TotalFuelOutput2.text = "\(TFO007)"
}
else if mainbutton.isOn {
TotalFuelOutput2.text = "\(TFO004)"
}
else {TotalFuelOutput2.text = "\(TFO000)"}
// *Self Reminder* Calculation for Trip Fuel Adjust with various TDP Loaded
if mainbutton.isOn && fwdbutton.isOn && aftbutton.isOn {
TripFuelOutput2.text = "\(TripF012)"
}
else if fwdbutton.isOn && aftbutton.isOn {
TripFuelOutput2.text = "\(TripF012)"
}
else if mainbutton.isOn && fwdbutton.isOn {
TripFuelOutput2.text = "\(TripF011)"
}
else if mainbutton.isOn && aftbutton.isOn {
TripFuelOutput2.text = "\(TripF010)"
}
else if aftbutton.isOn {
TripFuelOutput2.text = "\(TripF006)"
}
else if fwdbutton.isOn {
TripFuelOutput2.text = "\(TripF007)"
}
else if mainbutton.isOn {
TripFuelOutput2.text = "\(TripF004)"
}
else {TripFuelOutput2.text = "\(TripF000)"}
//----
let fourthValue = Double(TotalFuelOutput2.text!)
let fifthValue = Double(TripFuelOutput2.text!)
let RampWeight1 = Double(firstValue! + secondValue!)
let TOW1 = Double(RampWeight1 - 1)
let LMass1 = (TOW1 - thirdValue!)
let RampWeight2 = Double(firstValue! + fourthValue!)
let TOW2 = Double(RampWeight2 - 1)
let LMass2 = (TOW2 - fifthValue!)
// *Self Reminder* Calculation for center figuers with no TDP adjustments
RampOutput1.text = "\(RampWeight1)"
TOWOutput1.text = "\(TOW1)"
LandOutput1.text = "\(LMass1)"
// *Self Reminder* Calculation for right hand side figures using new TotalFuelOutput2 & TripFuelOutput2
RampOutput2.text = "\(RampWeight2)"
TOWOutput2.text = "\(TOW2)"
LandOutput2.text = "\(LMass2)"
}
私はプログラムを実行し、入力を確認します。最初の3つが正しければ、それは次に上記の順序に従って計算を実行する前にfourthValueの次にジャンプします。私は以下のスクリーンショットを添付しました。
コードでランタイムエラーは、正しいTFO012結果に下回っています。 Here
fourValue should TFO012の値は101.2ですが、リストの2.16095795579922694E-314です。この番号はどこから受け取ったのですか?
もう一度お詫び申し上げます。あなたはすでに私にとって大きな助けとなり、真剣に感謝しています!
@Sam M、この完全なビューコントローラコード
//
// ViewController.swift
// TDP Calculator
//
// Created by Ryan Harris on 24/09/2016.
// Copyright © 2016 Harris. All rights reserved.
//
import UIKit
class ViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var scrollView: UIScrollView!
@IBOutlet var mainbutton: UISwitch!
@IBOutlet var fwdbutton: UISwitch!
@IBOutlet var aftbutton: UISwitch!
@IBOutlet var maindeckimage: UIImageView!
@IBOutlet var fwdholdimage: UIImageView!
@IBOutlet var aftholdimage: UIImageView!
@IBOutlet var ZFWinput: UITextField!
@IBOutlet var TotalFuelinput: UITextField!
@IBOutlet var TripFuelinput: UITextField!
@IBOutlet var RampOutput1: UILabel!
@IBOutlet var TOWOutput1: UILabel!
@IBOutlet var LandOutput1: UILabel!
@IBOutlet var Calculate: UIButton!
@IBOutlet var ZFWOutput2: UILabel!
@IBOutlet var TotalFuelOutput2: UILabel!
@IBOutlet var RampOutput2: UILabel!
@IBOutlet var TOWOutput2: UILabel!
@IBOutlet var TripFuelOutput2: UILabel!
@IBOutlet var LandOutput2: UILabel!
//Switches linked to all cargo bays on profile
@IBAction func maindeckswitch(_ sender: AnyObject) {
if mainbutton.isOn {
maindeckimage.isHidden = true
mainbutton.setOn(false, animated: true)
}else{
maindeckimage.isHidden = false
mainbutton.setOn(true, animated: true)
}
}
@IBAction func fwdholdswitch(_ sender: AnyObject) {
if fwdbutton.isOn {
fwdholdimage.isHidden = true
fwdbutton.setOn(false, animated: true)
}else{
fwdholdimage.isHidden = false
fwdbutton.setOn(true, animated: true)
}
}
@IBAction func aftholdswitch(_ sender: AnyObject) {
if aftbutton.isOn {
aftholdimage.isHidden = true
aftbutton.setOn(false, animated: true)
}else{
aftholdimage.isHidden = false
aftbutton.setOn(true, animated: true)
}
}
override func viewDidLoad() {
super.viewDidLoad()
//Remove Keyboard with background Touch - Ryan Harris
let tapRecognizer = UITapGestureRecognizer()
tapRecognizer.addTarget(self, action: #selector(ViewController.didTapView))
self.view.addGestureRecognizer(tapRecognizer)
}
//Link function to Keyboard removal
func didTapView(){
self.view.endEditing(true)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
// Calculation Code Starts here
@IBAction func Calculate(_ sender: AnyObject) {
let firstValue = Double(ZFWinput.text!)
let secondValue = Double(TotalFuelinput.text!)
let thirdValue = Double(TripFuelinput.text!)
let TFO000 = Double(secondValue!)
let TFO004 = Double(secondValue! * 1.004)
let TFO006 = Double(secondValue! * 1.006)
let TFO007 = Double(secondValue! * 1.007)
let TFO010 = Double(secondValue! * 1.01)
let TFO011 = Double(secondValue! * 1.011)
let TFO012 = Double(secondValue! * 1.012)
let TripF000 = Double(thirdValue!)
let TripF004 = Double(thirdValue! * 1.004)
let TripF006 = Double(thirdValue! * 1.006)
let TripF007 = Double(thirdValue! * 1.007)
let TripF010 = Double(thirdValue! * 1.10)
let TripF011 = Double(thirdValue! * 1.11)
let TripF012 = Double (thirdValue! * 1.12)
// *Self Reminder* Calculation for Total Fuel Adjustment with various TDP Loaded
if mainbutton.isOn && fwdbutton.isOn && aftbutton.isOn {
TotalFuelOutput2.text = "\(TFO012)"
}
else if fwdbutton.isOn && aftbutton.isOn {
TotalFuelOutput2.text = "\(TFO012)"
}
else if mainbutton.isOn && fwdbutton.isOn {
TotalFuelOutput2.text = "\(TFO011)"
}
else if mainbutton.isOn && aftbutton.isOn {
TotalFuelOutput2.text = "\(TFO010)"
}
else if aftbutton.isOn {
TotalFuelOutput2.text = "\(TFO006)"
}
else if fwdbutton.isOn {
TotalFuelOutput2.text = "\(TFO007)"
}
else if mainbutton.isOn {
TotalFuelOutput2.text = "\(TFO004)"
}
else {TotalFuelOutput2.text = "\(TFO000)"}
// *Self Reminder* Calculation for Trip Fuel Adjust with various TDP Loaded
if mainbutton.isOn && fwdbutton.isOn && aftbutton.isOn {
TripFuelOutput2.text = "\(TripF012)"
}
else if fwdbutton.isOn && aftbutton.isOn {
TripFuelOutput2.text = "\(TripF012)"
}
else if mainbutton.isOn && fwdbutton.isOn {
TripFuelOutput2.text = "\(TripF011)"
}
else if mainbutton.isOn && aftbutton.isOn {
TripFuelOutput2.text = "\(TripF010)"
}
else if aftbutton.isOn {
TripFuelOutput2.text = "\(TripF006)"
}
else if fwdbutton.isOn {
TripFuelOutput2.text = "\(TripF007)"
}
else if mainbutton.isOn {
TripFuelOutput2.text = "\(TripF004)"
}
else {TripFuelOutput2.text = "\(TripF000)"}
//----
let fourthValue = Double(TotalFuelOutput2.text!)
let fifthValue = Double(TripFuelOutput2.text!)
let RampWeight1 = Double(firstValue! + secondValue!)
let TOW1 = Double(RampWeight1 - 1)
let LMass1 = (TOW1 - thirdValue!)
let RampWeight2 = Double(firstValue! + fourthValue!)
let TOW2 = Double(RampWeight2 - 1)
let LMass2 = (TOW2 - fifthValue!)
// *Self Reminder* Calculation for center figuers with no TDP adjustments
RampOutput1.text = "\(RampWeight1)"
TOWOutput1.text = "\(TOW1)"
LandOutput1.text = "\(LMass1)"
// *Self Reminder* Calculation for right hand side figures using new TotalFuelOutput2 & TripFuelOutput2
RampOutput2.text = "\(RampWeight2)"
TOWOutput2.text = "\(TOW2)"
LandOutput2.text = "\(LMass2)"
}
}
あなたがfourthValueとfifthValueに指定した行が動作しない方法を知っていると便利だろう。コードはコンパイルされませんか?または、ランタイムエラーが発生しますか?どちらの場合でも、エラーは何ですか? – Fahim
申し訳ありませんが、ランタイムエラーが発生しました...... RampWeight2 = double(firstValue!+ fourthValue!)THRED 1:EXC_BAD_INSTRUCTION(code = EXC_I386_INVOP、subcode = 0x0)と言っています – RyanHK
http:// www。 raywenderlich.com/10209/my-app-crashed-now-what-part-1でクラッシュをデバッグする方法を学んでください。エラーの原因となった実際のコードで質問を更新してください。 – rmaddy