この種の質問をするべきではないことはわかっています。しかし、私は何の手がかりもなくここに何日も立ち往生していました. だから、私は本当に助けが必要です。
コアデータオブジェクト、たとえば製品があります。
// 製品
NSDecimalNumber *数量
NSDecimalNumber *価格
私がやろうとしているのは、価格をまとめてラベルに設定することです。ここで検索したところ、実際の値をラップするオブジェクトであるため、NSDecimalNumber は標準の一致操作を実行できないというトピックが見つかりました。decimalNumberByAddingおよびdecimalNumberByMultiplyingByを使用して行う必要があります。だから、私は次のコードを書いた、
NSDecimalNumber *totalPrice = [[NSDecimalNumber alloc] initWithDouble:0.0];
[self.productArray enumerateObjectsUsingBlock:^(Product *product, NSUInteger idx, BOOL *stop) {
[totalPrice decimalNumberByAdding:[product.price decimalNumberByMultiplyingBy:product.quantity]];
NSLog(@"%@", totalPrice);
NSLog(@"%@", totalPrice.doubleValue);
NSLog(@"%@", totalPrice.decimalValue);
}];
これらの NSLog はどれも正しい結果を示していませんでした。0 も NULL も表示されませんでした
しかし、次のコードを NSLog すると、正しい結果が表示されます。
[product.price decimalNumberByMultiplyingBy:product.quantity]
ここで私が見逃していることを指摘してもらえますか?