У меня есть этот код для создания массива изображений для отображения в представлении. Большинство страниц в моем представлении будут иметь 20 изображений (в столбцах по 5, в строках по 4), но на самом деле у меня 43 изображения, и когда мой массив изображений содержит последние 3, я получаю исключение, когда на 4-й итерации внутреннего цикл, массив пустой.
- (void)displayImages:(NSMutableArray *)images {
NSMutableArray *keysArray = [[NSMutableArray alloc] initWithCapacity:5];
for (int column = 0; column < 5; column++){
[keysArray addObject:[NSMutableArray arrayWithCapacity:5]];
for (int row = 0; row < 4; row++) {
[[keysArray objectAtIndex:column] addObject:[images objectAtIndex:0]];
[images removeObjectAtIndex:0];
}
}
....
Могу ли я обойти это?
Спасибо.
РЕДАКТИРОВАТЬ:
За этим кодом следует код, который фактически извлекает изображение из массива. Но происходит тот же сценарий... на четвертой итерации происходит сбой.
for (int column = 0; column < 5; column++) {
for (int row = 0; row < 4; row++){
UIButton *keyButton = [UIButton buttonWithType:UIButtonTypeCustom];
keyButton.frame = CGRectMake(column*kKeyGap, row*kKeyGap, kKeySize, kKeySize);
[keyButton setImage:[[keysArray objectAtIndex:column] objectAtIndex:row] forState:UIControlStateNormal];
[keyButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:keyButton];
}
}
[keysArray release];
На данный момент я не могу проверить images
, так как массив уже пуст.