と呼ばれるプロパティ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