Je ne suis pas sûr du problème avec cette boucle, mais je continue à recevoir SIGABRT chaque fois que je l'exécute. Selon le journal, le problème est lorsque j'essaie d'ajouter le NSNumber au tableau NSMutable près de la fin de la boucle. Évidemment j'ai fait une erreur élémentaire mais je ne suis pas sûr du problème.Problème Ajout à NSMutableArray en boucle
NSArray *toArray = [ourDictionary objectForKey:toString];
NSMutableArray *allValuesMArray = [[NSMutableArray alloc] init];
while (done == NO)
{
if (i == 10)
done = YES;
/*
*The job here is to multiply these three numbers together and store the
*product in the mutable array. It tells me NSObject did not recognize selector
*and then crashes.
*original and multiplyFrom are always the same value, and multiplyTo is updated
*from an array I made above from a p-list.
*I'm hoping I didn't make a ton of rookie mistakes here, but I'm new to dealing with
*NSMutableArray and such.
*/
NSNumber *original = [NSNumber numberWithDouble:convertThis];
NSNumber *multiplyFrom = [NSNumber numberWithDouble:multiply];
NSNumber *multiplyTo = [NSNumber numberWithDouble:[[toArray objectAtIndex:i] doubleValue]];
NSNumber *product = [[NSNumber alloc] init];
product = [NSNumber numberWithDouble:([original doubleValue] *
[multiplyFrom doubleValue] *
[multiplyTo doubleValue])];
[allValuesMArray addObject:product];
//This line ^^^ causes crash
i++;
}
NSArray *returnThisArray = allValuesMArray;
[allValuesMArray autorelease];
return returnThisArray;
Pouvez-vous ajouter l'historique du journal ici? – Sarah
S'il vous plaît montrer plus de code, en particulier la création de 'allValuesMArray'. En outre, supprimez '[product release]', ce qui causera un plantage plus tard. Et enfin, les constantes appropriées pour le type BOOL sont 'YES' /' NO', pas 'TRUE' /' FALSE' –
J'ai modifié le code pour montrer plus de ce qui se passe, si cela ne suffit pas encore laissez-moi savoir ce que vous devez voir d'autre. Tout ce qui est au-dessus de la boucle devrait fonctionner correctement, je ne suis pas sûr exactement la meilleure méthode pour obtenir ce que je veux. Le but de cette méthode est de lire une liste de nombres de toArray, de calculer le produit, de stocker chaque produit dans un nouveau tableau qui sera ensuite retourné et écrit dans une p-list. – Justin