NSDecimalNumber Question for Master Data and iPhone

I am new to basic data and programming on iphone. Perhaps this is the obvious answer, so if anyone can point me to a textbook or other resource, it is very much appreciated! I have a main data object, which is a decimal type, since it deals with currency, and everything I read says that NSDecimalNumber is used when working with currency. At the same time, I cannot have my life determine how to set the value when inserting a new object. That's what i

NSManagedObjectContext *moc = [self.fetchedResultsController managedObjectContext];
Envelope *envelope = [NSEntityDescription insertNewObjectForEntityForName:@"Envelope"
                                                inManagedObjectContext:moc];
[envelope setValue:@"Envelope 1" forKey:@"name"];
NSDecimalNumber *budgetNumber = [NSDecimalNumber decimalNumberWithDecimal:1.00];
[envelope setValue:budgetNumber forKey:@"budget"];

What am I doing wrong here? thanks in advance!

+5
source share
2 answers

Try the following:

NSDecimalNumber *budgetNumber = [NSDecimalNumber decimalNumberWithString:@"1.00"];

PS: ,

(void)configureCell:(UITableViewCell *)cell withEnvelope:(NSManagedObject *)model{ 
     UILabel *envelopeNameLabel = (UILabel *) [cell viewWithTag:1];

     envelopeNameLabel.text = [model valueForKey:@"name"]; 

     UILabel *envelopeBudgetLabel = (UILabel *) [cell viewWithTag:2];
     envelopeBudgetLabel.text = [model valueForKey:@"budget"];
     }

'NSInvalidArgumentException', : '- [NSDecimalNumber isEqualToString:]: , 0x653fc80 '.

. . - :

envelopeBudgetLabel.text = [[model valueForKey:@"budget"] description];
+5

NSDecimalNumber :

NSDecimalNumber *budgetNumber = [NSDecimalNumber decimalNumberWithMantissa:1 exponent:0 isNegative:NO];

NSDecimalNumber 1. NSDecimalNumber -12.345, :

NSDecimalNumber *budgetNumber = [NSDecimalNumber decimalNumberWithMantissa:12345 exponent:-3 isNegative:YES];
+3

All Articles