Я использую почти такой же код для загрузки моего UIViewController (называемого LessonScrollView) в UIScrollView.Метод вызывается, когда в методе scrollViewDidScroll
- (void)loadScrollViewWithPage:(int)page {
if (page < 0)
return;
if (page >= numPages)
return;
LessonScrollView *controller = [imageViewControllers objectAtIndex:page];
if ((NSNull *)controller == [NSNull null]) {
controller = [[LessonScrollView alloc] initWithPage:page forLesson:[self title]];
[imageViewControllers replaceObjectAtIndex:page withObject:controller];
[controller release];
}
if (controller.view.superview == nil) {
CGRect frame = CGRectMake(0, 80, 320, 285);
frame.origin.x = frame.size.width * page;
frame.origin.y = 0;
controller.view.frame = frame;
[scrollView addSubview:controller.view];
}
}
В некоторых случаях у меня довольно много страниц, которые, как я считаю, остаются в памяти, пока UIViewController, ответственный за scrollView, не будетосвобожден (или предупреждение памяти происходит).
Мой вопрос: как бы я освободил объект LessonScrollView?Я бы назвал метод, скажем,
- (void)unloadScrollViewWithPage:(int)page
в scrollViewDidScroll, и страница будет текущей страницей - 1.
Спасибо за любую помощь, которую вы можете предложить.