Я не уверен, в чем проблема с этим циклом, но я продолжаю получать SIGABRT всякий раз, когда я его запускаю. Согласно журналу, проблема заключается в том, что я пытаюсь добавить NSNumber в массив NSMutable в конце цикла. Очевидно, я сделал элементарную ошибку, но я не уверен, в чем проблема.Проблема Добавление в NSMutableArray в Loop
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;
Вы можете добавить историю с помощью журнала: – Sarah
Пожалуйста, покажите больше кода, в частности, создание 'allValuesMArray'. Кроме того, удалите '[выпуск продукта]', который позже приведет к сбою. И, наконец, правильные константы для типа BOOL - 'YES' /' NO', а не 'TRUE' /' FALSE' –
Я отредактировал код, чтобы показать больше о том, что происходит, если этого еще недостаточно дайте мне знать, что еще вам нужно увидеть. Все выше цикла должно работать нормально, я не уверен точно, как лучше всего получить то, что я хочу. Точка этого метода состоит в том, чтобы прочитать список чисел из toArray, вычислить продукт, сохранить каждый продукт в новый массив, который затем будет возвращен и записан в p-список. – Justin