の最上位桁を知っていますアプリがクラッシュする約10の数字を入力します。は、入力値がボタンで設定されている私は、ベースコンバータであるSWIFT 3とXcodeの8でアプリをやっている数
スレッド1::私は「currentnumber」Xcodeのための新しい値を設定する行は私にこれを示した後EXC_BAD_INSTRUCTION(コード= EXC_INPOV、サブコード= 0x0の)
の最上位桁を知っていますアプリがクラッシュする約10の数字を入力します。は、入力値がボタンで設定されている私は、ベースコンバータであるSWIFT 3とXcodeの8でアプリをやっている数
スレッド1::私は「currentnumber」Xcodeのための新しい値を設定する行は私にこれを示した後EXC_BAD_INSTRUCTION(コード= EXC_INPOV、サブコード= 0x0の)
オーバーフローは(ありがたいことに)スウィフトに誤りです。
実際に計算を実行する前に、値がInt.max
を超えるかどうかをチェックすることで、コード内でこれを防ぐことができます。
guard let inputNumber = Int(inputString) else {
labelText.text = "input not a number or out of range"
return
}
guard currentNumber < (Int.max - inputNumber)/10 else {
labelText.text = "overflow"
return
}
currentNumber = currentNumber * 10 + inputNumber
labelText.text = "\(currentNumber)"
私の考え。しかし、回答する前にcurrentNumberがIntであることを確認したかったのです。 – Dean
うわー、それは実際に働いた!ありがとう、たくさんの男! –
さらに数字を追加する方法はありますか? –
そして、何currentNumber' 'の値は、クラッシュ時に次のとおりです。
ここでは、始めるためにいくつかのコードですか? – Droppy
currentNumber –
の入力値でクラッシュしますが、「約10個の数字を入力するとアプリがクラッシュします」と表示されます。だから、クラッシュするときの最終的な価値は何ですか? – Droppy