Я использую этот код для создания пары представлений и добавления их к представлению с прокруткой, на каждом представлении у меня есть 4 изображения, которые я устанавливаю в цикле.когда я заканчиваю, я добавляю представление к представлению с прокруткой и к массиву, который имеет все представления, которые я добавляю к представлению с прокруткой:
for (int i = 0; i < numOfRows ; i++) {
AlbumRow *tmp;
NSArray *topLevelObjects = topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"AlbumRow"
owner:nil
options:nil];
for (id currentObject in topLevelObjects) {
if ([currentObject isKindOfClass:[UIView class]]) {
tmp = (AlbumRow*) currentObject;
break;
}
}
int y = 0;
if (i != 0) {
y = 85 * i;
}
[tmp setFrame:CGRectMake(1, y, 320, 85)];
[tmp setBackgroundColor:[UIColor clearColor]];
int imgInRow = kItemInRow;
for (int j = 0; j < imgInRow; j++) {
if ([album.albumItems count] > current) {
UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(imageViewClicked:)];
ItemEntity *entity = [album.albumItems objectAtIndex:current];
switch (j) {
case 0:
tmp.image1.image = [UIImage imageWithContentsOfFile:entity.path];
[tmp.image1 setTag:current];
[tmp.image1 addGestureRecognizer:gestureRecognizer];
break;
case 1:
tmp.image2.image = [UIImage imageWithContentsOfFile:entity.path];
[tmp.image2 setTag:current];
[tmp.image2 addGestureRecognizer:gestureRecognizer];
break;
case 2:
tmp.image3.image = [UIImage imageWithContentsOfFile:entity.path];
[tmp.image3 setTag:current];
[tmp.image3 addGestureRecognizer:gestureRecognizer];
break;
case 3:
tmp.image4.image = [UIImage imageWithContentsOfFile:entity.path];
[tmp.image4 setTag:current];
[tmp.image4 addGestureRecognizer:gestureRecognizer];
break;
case 4:
tmp.image5.image = [UIImage imageWithContentsOfFile:entity.path];
[tmp.image5 setTag:current];
[tmp.image5 addGestureRecognizer:gestureRecognizer];
break;
default:
break;
}
current++;
[gestureRecognizer release];
tmp.count++;
}
}
[scroll addSubview:tmp];
[rows addObject:tmp];
}
Мне нужно добавить его в массив, потому что я использую их в своем классепотом.Вот как я очищаю память, когда заканчиваю:
for (AlbumRow *row in rows) {
[row removeFromSuperview];
}
[rows removeAllObjects];
Когда я добавляю много элементов в представление с прокруткой, я получаю много предупреждений об использовании памяти, в любом случае я сделал что-то не так?