J'ai eu quelques problèmes pour que NSNumberFormatter fonctionne correctement.Qu'est-ce que __AVAILABILITY_INTERNAL__IPHONE_2, NS_AVAILABLE? Essayer d'utiliser NSNumberFormatter, renvoie (null)
Je compile dans iOS4 avec le cadre Three20.
Tous les sélecteurs de NSNumberFormatter exigent quelque chose appelé NS_AVAILABLE comme second paramètre sur le sélecteur:
[numberFormatter setCurrencyGroupingSeparator:(NSString *)string __AVAILABILITY_INTERNAL__IPHONE_2:(int)_0];
Je ne sais pas ce que je suis censé faire avec le second paramètre. J'ai essayé:
[numberFormatter setCurrencyGroupingSeparator:@"," __AVAILABILITY_INTERNAL__IPHONE_2:2]; // Warning: NSNumberFormatter' may not respond to '-setCurrencyGroupingSeparator:__AVAILABILITY_INTERNAL__IPHONE_2:
[numberFormatter setCurrencyGroupingSeparator:@"," __AVAILABILITY_INTERNAL__IPHONE_2:2_0]; //Error: invalid suffix "_0" on integer constant
et plusieurs autres itérations de cela. Si je ne spécifie pas __AVAILABLE_INTERNAL__IPHONE_2, il ne lance pas d'avertissement et compile bien, mais le texte du sélecteur est noir, pas violet foncé dans Xcode comme s'il n'était pas reconnu.
Voici le plein extrait de code:
NSNumberFormatter *numberFormatter = [[[NSNumberFormatter alloc] init] autorelease];
[numberFormatter setCurrencyGroupingSeparator:@","];
[numberFormatter setUsesGroupingSeparator:YES];
[numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
numberString = [NSString stringWithFormat: @"$%@",[numberFormatter stringFromNumber:myNsNumber]]; // myNsNumber is an NSNumber with a value of 10000000
NSLog(@"numberString: %@",numberString); // numberString: (null) | instead of numberString: $10,000,000
J'ai googlé _AVAILABILITY_INTERNAL__IPHONE_2 et NS_AVAILABLE sans chance.
La recherche sur developer.apple.com ne me donne que les différences API iOS 4.0.
Est-ce un problème avec Three20? Est-ce que quelqu'un sait ce qui se passe ici ou ce que NS_AVAILABLE est tout?
OK, cela a fonctionné. Pour une raison quelconque, j'ai dû déclarer à nouveau mon numéro NSNumber -> NSNumber * = [NSNumber numberWithInt: [myNsNumber intValue]]; Merci. –