Mon application me dit que je suis trop libérer le NSDecimalNumber tempDouble ci-dessous:Plus libérant une NSDecimalNumber
NSNumberFormatter *currencyFormatter = [[NSNumberFormatter alloc] init];
[currencyFormatter setLocale:[NSLocale currentLocale]];
[currencyFormatter setGeneratesDecimalNumbers:TRUE];
[currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
// Here is the key: use the maximum fractional digits of the currency as the scale
int currencyScale = [currencyFormatter maximumFractionDigits];
NSDecimalNumber* tempDouble = [[NSDecimalNumber alloc] initWithString:self.tempStore];
NSDecimalNumber* numTen = [[NSDecimalNumber alloc] initWithInt:10];
tempDouble = [tempDouble decimalNumberByDividingBy:[numTen decimalNumberByRaisingToPower:currencyScale]];
[numTen release];
[textField setText:[currencyFormatter stringFromNumber:tempDouble]];
[currencyFormatter release];
[tempDouble release];
Je pense que la ligne de problème est celui-ci:
tempDouble = [tempDouble decimalNumberByDividingBy:[numTen decimalNumberByRaisingToPower:currencyScale]];
Mais je ne sais pas pourquoi. Dois-je ajouter un attribut "affecter, copier ou conserver" après l'affectation? Quand je me débarrasse de la déclaration 'release' ci-dessous, le code fonctionne bien.
Merci,
G
De quelle langue s'agit-il? S'il vous plaît dites-moi pour que je puisse ignorer son tag. –