Зачем вы это делаете?
[myLabel setText:[subArray objectAtIndex:1]];
Это будет сбой, если
- subArray не имеет объекта с индексом 1
- объекта с индексом1 не может быть установлен как текст метки (т.е. не может быть строкой)
Я думаю, что дополнительная информация о том, как структурированы ваши массивы, поможет лучше ответить на вопрос, в чем заключается проблема.
РЕДАКТИРОВАТЬ (на основе комментариев ниже) Попробуйте это:
NSArray* myArray; // Contains 5 subarrays, each containing 5 strings
UILabel* myLabel1;
UILabel* myLabel2;
UILabel* myLabel3;
UILabel* myLabel4;
UILabel* myLabel5;
int count = 0; // Keeps track of which subarray we are on
- (void)setLabel
{
NSArray* subArray = [myArray objectAtIndex:count];
[myLabel1 setText: [subArray objectAtIndex:0]]
[myLabel2 setText: [subArray objectAtIndex:1]]
[myLabel3 setText: [subArray objectAtIndex:2]]
[myLabel4 setText: [subArray objectAtIndex:3]]
[myLabel5 setText: [subArray objectAtIndex:4]]
count = (count + 1) % 5; // Ensures that count is always 0 to 4
}
Теперь, когда вы вызываете setLabel, текст должен меняться на всех 5 ваших метках, если у вас действительно есть 5 строк в каждой из5 подрешеток.