Ты doint него неправильно:
NSLog(@"m_datasource %d and coord.color %d",[m_dataSource.colors count],[coord.colorIndexes count]);
cell.spotColor = [m_dataSource.colors objectAtIndex: [coord.colorIndexes lastObject] intValue];
выше, если ваш последний объект coord.colorIndexes
- «100», затем проверьте statemnt - это будет выглядеть так:
cell.spotColor = [m_dataSource.colors objectAtIndex: 100];
Но в вашем массиве m_dataSource.colors
содержится всего 60 объектов, поэтому он выдает массив из исключения индекса.
Замените код ниже фрагмент коды:
// get array count and substract with 1 - so it will retrun you last index of coord.colorIndexes array
cell.spotColor = [m_dataSource.colors objectAtIndex: [coord.colorIndexes count]-1];
Надеется, что это поможет вам вкратце о концепциях массива.
Используйте большой массив или меньший индекс. (Обратите внимание, что общая ошибка заключается в том, чтобы забыть, что индексы массива работают 0..N-1, а не 1..N.) –
У вас была * такая же проблема * здесь сегодня: http://stackoverflow.com/questions/16648195/ прекращение-приложение-из-за-на-неперехваченного-исключения-nsrangeexception-причины. Я не хочу звучать недружелюбно, но вы поняли проблему и решение? –