と呼ばれるプロパティtotalがありNSDecimalNumberます。私の switch ステートメントでは、数値に対して単純な加算と減算を実行しようとしていますが、「unrecognized selector sent to instance」エラーが発生し続けます。コードは次のとおりです。
switch (t) {
case 0:
{
    if (_zero == YES)
    {
        _total = [_total decimalNumberBySubtracting:[NSDecimalNumber decimalNumberWithString:@"4.5"]];
        i = (UIImageView *)[self.view viewWithTag:7];
        i.hidden = YES;
    } else {
        NSDecimalNumber *fourpointfive = [[NSDecimalNumber alloc] initWithDecimal:[[NSNumber numberWithFloat:4.5] decimalValue]];
        _total = [_total decimalNumberByAdding:fourpointfive];
        i = (UIImageView *)[self.view viewWithTag:7];
        i.hidden = NO;
    }
    break;
同じメソッドで、switch ステートメントの直前に初期化します。
_total = [[NSDecimalNumber alloc] initWithDecimal:[[NSNumber numberWithFloat:0] decimalValue]];
そして私の @interface で:
@property (strong, nonatomic) NSDecimalNumber *total;
アップデート:
初期化を次のように変更しました。
_total = [[NSDecimalNumber alloc] initWithString:@"0"];
しかし、それはまだクラッシュしています。への他の参照も削除しましたdecimalValue。
これは私が得るエラーメッセージです:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFNumber decimalNumberByAdding:]: unrecognized selector sent to instance