Objective-C プログラミングと X-Code は初めてなので、ご容赦ください。Objective C に関する本からコードをコピーして電卓クラスを作成したところ、驚くほどうまく機能しています。次に、演習の一環として、変換ボタンを追加して分数を倍精度に変換して出力するように求められました。問題は、変換ボタンを押すとアプリが停止し、プログラムが SIGABRT シグナルを受信したというメッセージが表示されることです。
ボタンのコードは次のとおりです。
-(IBAction)clickConvert //convert method
{
if ( [myCalculator accumulator] != 0 ){
displayString = [NSString stringWithFormat: @"%e", [myCalculator convertResult]];
display.text = displayString;
[displayString setString:@""];
}}
convertResult コード:
-(double) convertResult
{
double convertedFraction;
convertedFraction = [accumulator convertToNum];
return convertedFraction;
}
(アキュムレータは、2 つのオペランドで行われた数学演算の値を含む Fraction オブジェクトです)
そして、ConverToNum 関数:
-(double) convertToNum
{
if (denominator != 0)
return (double) numerator/denominator;
else
return NAN;
}
アプリの他のすべては正常に動作するので、私が行ったことに問題があるに違いありません...誰か助けてもらえますか? 私は一日中オンラインで検索してきましたが、この SIGABRT エラーに関するまったく別の情報を読みました。ご協力ありがとうございました