Мне нужна помощь, чтобы правильно удалить подпредставления из прокрутки, чтобы уменьшить использование памяти. Каждый раз, когда пользователь прокручивает, я прошу захватить страницу, страницу -1 и страницу + 1, чтобы загрузить представления в виде прокрутки.
Теперь моя проблема в том, что если есть десять представлений рядом, когда вы достигаете десятого представления, все предыдущие 9 представлений все еще являются подпредставлениями в просмотре прокрутки и в памяти. Я хотел бы также отменить загрузку этих представлений. Вот что у меня есть:
- (void)loadScrollViewWithPage:(int)page {
if (page < 0) return;
if (page >= [self favouritesCount]) return;
// replace the placeholder if necessary
MyObject *myObj = (MyObj *)[fetchedResultsController objectAtIndexPath:[NSIndexPath indexPathForRow:page inSection:0]];
MyView *controller = [viewControllers objectAtIndex:page];
if ((NSNull *)controller == [NSNull null]) {
controller = [[MyView alloc] initWithObject:myObj];
controller.delegate = self;
[viewControllers replaceObjectAtIndex:page withObject:controller];
}
// add the controller's view to the scroll view
if (nil == controller.superview) {
CGRect frame = scrollView.frame;
frame.origin.x = frame.size.width * page;
frame.origin.y = 0;
controller.frame = frame;
[scrollView addSubview:controller];
}
}
Теперь я попробовал что-то вроде:
if (page > 2) {
[(UIView *)[[scrollView subviews] objectAtIndex:(page - 2)] removeFromSuperview];
}
Но это просто разбивает его. Это, вероятно, простое решение, поэтому помощь приветствуется:)