私はビューに表示するイメージの配列を作成するためのこのコードを持っています。私のビューのページのほとんどは、20の画像(5の列、4の行)を持ちますが、実際には43の画像があり、画像配列に最終3が含まれていると、内側の4番目の繰り返しループでは、配列は空です。Out of Bounds空白のNSArrayの例外
- (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];
}
}
....
この問題を回避できますか?
ありがとうございました。
EDIT:
このコードに続き、実際のアレイから画像を引っ張るコードです。しかし、同じシナリオが発生します.4回目の繰り返しでクラッシュします。
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
をテストすることはできません。