2012-06-06 2 views
0

Можно создать дубликат:
What is __NSArrayI and __NSArrayM? How to convert to NSArray?Wierd NSArray Ошибка

Я получаю ошибку ниже

2012-06-06 15: 53: 19,509 NavApp [5462: 707] * Завершение приложения из-за неперехваченного исключения «NSInvalidArgumentException», причина: '* - [__ NSArrayM insertObject: atIndex:]: объект не может быть nil' *** Первый стек бросить вызов: (0x353b788f 0x3775e259 0x3530c1d7 0xba3e5 0xc128b 0x32e2db95 0x32e87d85 0x32e4a251 0x32e49fa1 0x32e49cbb 0x32e49a2f 0x32e00aab 0x32e063d5 0x3220cc2f 0x34246ee7 0x3538a2ad 0x3530d4a5 0x3530d36d 0x36fa9439 0x32e19cd5 0x106a71 0xb8c70) Terminate называется бросать исключение (lldb)

Я думаю, что это странно, потому что он говорит «__NSArrayM» ... Любая идея, что это значит?

+0

Вы пытаетесь вставить ноль в массив, что невозможно. – Dani

+3

Это означает, что документация не шутила, когда говорилось, что NSArray - кластер классов. – Chuck

ответ

3

Кажется, вы пытаетесь вставить ноль объект в NSMutableArray Это вызовет исключение, так как изменяемый массив не может содержать ноль объектов

Об __NSArrayM

__NSArrayM is a NSMutableArray 
__NSArrayI is a NSArray