この一般的なエラーについて申し訳ありません。
しかし、X-Code 4.6 でコンバーター アプリケーションを作成しています。
2 進数から 10 進数へのコンバーターを作成していますが、計算を行うために 2 つの領域を配置できるようにしたいと考えています。しかし、何らかの理由で、これによりシグナルの中止の問題が発生しています。
私はいくつかの答えを探してみましたが、このエラーには大きな範囲があることを知りました.
エラー:
キャッチされない例外 'NSInvalidArgumentException' によるアプリの終了、理由: '+[BinaryToDecimal 計算]: 認識されないセレクターがクラス 0x7c98 に送信されました'
アプリケーションのインターフェイスには 8 つのボタンが含まれているため、ユーザーは各ボタンを 1 または 0 に切り替えることができます。
したがって、最初に呼び出されるコードは次のとおりです。
- (IBAction)chk1:(id)sender {
if(chk1)
{
number = number + 1;
[_chk1 setTitle:@"1" forState:UIControlStateNormal];
chk1 = false;
} else {
number = number - 1;
[_chk1 setTitle:@"0" forState:UIControlStateNormal];
chk1 = true;
}
[[self class]calculation];
}
そして計算は
- (void)calculation {
switch (operatorVar) {
case 1:
answer = number + number2;
_output.text = [NSString stringWithFormat:@"%f", answer];
break;
case 2:
answer = number - number2;
_output.text = [NSString stringWithFormat:@"%f", answer];
break;
case 3:
answer = number * number2;
_output.text = [NSString stringWithFormat:@"%f", answer];
break;
case 4:
answer = number / number2;
_output.text = [NSString stringWithFormat:@"%f", answer];
break;
default:
answer = number + number2;
_output.text = [NSString stringWithFormat:@"%f", answer];
break;
}
}
私がそれをする前に、私のコードは
- (IBAction)chk1:(id)sender {
if(chk1)
{
number = number + 1;
[_chk1 setTitle:@"1" forState:UIControlStateNormal];
chk1 = false;
} else {
number = number - 1;
[_chk1 setTitle:@"0" forState:UIControlStateNormal];
chk1 = true;
}
_output.text = [NSString stringWithFormat:@"%f", number];
}
上記のコードは問題なく動作しましたが、計算メソッドを呼び出すと、シグナル アボート エラーによりアプリケーションが動作しなくなりました。