2010-10-26 25 views
1

Je tente de créer un NSArray de flottants. Cependant, une fois que la valeur est ajoutée aux tableaux, elle est toujours 0,0000000.NSArry of floats issue

Qu'est-ce que je fais de mal?

NSLog (@ "pourcentage:% f", pourcentage); affiche la valeur correcte et

NSLog (@ "timeArray:% f", [timeArray objectAtIndex: i]); est toujours 0.00000.

NSMutableArray *timeArray = [[NSMutableArray alloc] initWithCapacity:count]; 

for (int i = 0; i < count; i++) { 
    int time = Counter->getTime(i); 

    float percent = (float)(time - startTime)/(float)endTime; 
     NSLog(@"percent: %f" , percent); // This prints correct value 

    [timeArray addObject:[NSNumber numberWithFloat: percent]]; 
    NSLog(@"timeArray: %f", [timeArray objectAtIndex:i]); // This prints 0.00000 
} 

Im sur l'iPhone et l'exécution de mémoire, qui pourrait être la cause?

Répondre

4

dans la deuxième NSLog, vous imprimez un NSNumber, pas le flotteur inside..to voir cette valeur ..

NSLog(@"timeArray: %f", [[timeArray objectAtIndex:i] floatValue]); 
+2

Pour la postérité, 'NSLog (@" timeArray:% @ ", [timeArray objectAtIndex: i])' fonctionnerait également. –

4

essayer

NSLog(@"timeArray: %f", [[timeArray objectAtIndex:i] floatValue]); 

à la fin.

Vous essayez d'imprimer le pointeur vers NSNumber, pas la valeur stockée dans celui-ci.

+0

Merci, apprécie l'aide. – user346443