Float dans NSMutableDictionnary

BornToBeCocoaBornToBeCocoa Membre
10:48 modifié dans API AppKit #1
Hello,

comment faire entrer une variable float dans un NSMutableDictionnary ? En effet :
float monFloat = 123.45;<br />NSMutableDictionary *monDictionnaire = [[NSMutableDictionary alloc] init];<br />[monDictionnaire setObject:monFloat forKey:@&quot;unNombre&quot;];<br />

me renvoi l'erreur suivante : passing arg 1 of `setObject:forKey:' makes pointer from integer without a cast et fait planter l'appli avec has exited due to signal 11 (SIGSEGV).
:'( Help...

Réponses

  • 10:48 modifié #2
    Il n'y a tout simplement pas moyen, étant donné que tu ne peux avoir dans un dictionnaire que des objets (cette limitation n'existe pas pour les tableaux).

    Tu peux cependant stocker des valeurs numériques en utilisant des NSNumber. Tu stockes donc ton float en faisant [NSNumber numberWithFloat:123.45], puis pour récupérer la valeur sous forme de float, tu fais [[monDict objectForKey:@key] floatValue]
  • 10:48 modifié #3
    Ce qui est étonnant c'est que la classe NSUserDefaults propose elle une méthode floatForKey: alors que NSDictionary n'en propose pas.

    Une solution si tu utilises souvent le code proposé par Arldon serait d'écrire une categorie pour rajouter une méthode floatForKey:  à  NSDictionary.
Connectez-vous ou Inscrivez-vous pour répondre.