2010-08-18 2 views
0

Я новичок в Objective-C и пытаюсь инициализировать NSMutableArray с объектами разных типов. Вот мой код:Получение ошибки 10 при инициализации NSMutableArray

NSMutableArray *mutArr = [NSMutableArray arrayWithCapacity:1]; 
[mutArr addObject:path]; 
[mutArr addObject:fullPath]; 
[mutArr addObject:pathArray]; 
[mutArr addObject:pI]; 
[mutArr addObject:processName]; 
[mutArr addObject:processIdentifier]; 
[mutArr addObject:dictionary]; 

NSLog(@"I am past the initialization of mutArr."); 

Мой код не доходит заявление NSLog, и я получаю сообщение об ошибке на Debug Консоль XCode говоря, «Отладчик завершился из-за сигнала 10 (SIGBUS). " Я не знаю, что это значит, почему это происходит или как это исправить. Может кто-нибудь, пожалуйста, помогите мне?

спасибо !!

+0

Можете ли вы показать нам объявления переменных, которые вы добавляете в массив? Скорее всего, один из них не является объектом. –

ответ

0

Да, я выяснил проблему всего несколько минут назад. Мой переменный processIdentifer не был определен правильно. Я использовал объявление NSNumber * processIdentifier = (NSNumber *) [pI processIdentifier]; а не NSNumber * processIdentifier = [NSNumber numberWithInt: [pI processIdentifier]]; поэтому я получал ошибку во время инициализации моего изменяемого массива. Спасибо за совет!!

0

Попробуйте использовать

NSMutableArray *mutArr = [[NSMutableArray alloc] initWithObjects:nil]; 

, а затем остальную часть вашего кода. Это должно работать :-)

Смежные вопросы