ios programmation - Données argument n'est pas utilisé par la chaîne de format
- Je obtenir un Data argument not used by format string
erreur lorsque j'exécute le code suivant:
- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
NSString *colour = ([colourArray objectAtIndex:row]);
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:(colour) forKey:@"colour"];
NSLog(@"NSString =", colour);
NSLog(@"NSUserDefaults =", [defaults objectForKey:@"colour"]);
}
J'obtiens l'erreur sur les deux NSLog
lignes. Aussi, voici ce que le journal dit:
2011-10-25 09:01:50.260 Random[35636:b303] NSString =
2011-10-25 09:01:50.260 Random[35636:b303] NSUserDefaults =
Merci,
Arthur
Vous devez vous connecter pour publier un commentaire.
Est problématique
Devrait être
Le spécificateur de format dans ce cas est le
%@
qui est utilisée pour imprimer unobject
. Pour imprimer les numéros que vous souhaitez utiliser quelque chose comme%d
. Voir la documentation complète ici.Réponse de @debuggerman est absolument correcte. Mais vous pouvez améliorer votre code si vous utilisez
[defaults setObject:colour forKey:@"colour”];
au lieu de[defaults setObject:(colour) forKey:@"colour"];
Remarque que j'ai enlevé les parenthèses pour objet
colour
.