还在搞我的Army项目,弄了太长时间了,但还是没啥进展,闲话不说了,今天在看scrollview实现延时加载技术的 PageControl demo时,注意到一个问题,这里记一下:
MyViewController *controller = [viewControllersobjectAtIndex:page];
if ((NSNull *)controller == [NSNullnull])
{
controller = [[MyViewControlleralloc] initWithPageNumber:page];
NSLog(@"controller retaincount (ONE %d)",[controllerretainCount]);
[viewControllers replaceObjectAtIndex:page withObject:controller];
NSLog(@"controller retaincount (TWO %d)",[controllerretainCount]);
[controller release];
NSLog(@"controller retaincount (THREE %d)",[controllerretainCount]);
}
// add the controller's view to the scroll view
if (controller.view.superview ==nil)
{
NSLog(@"222loadScrollViewWithPage:page=%d$$$$$$$$$$$$$",page);
CGRect frame = scrollView.frame;
frame.origin.x = frame.size.width * page;
frame.origin.y = 0;
controller.view.frame = frame;
[scrollView addSubview:controller.view];
--------------------------------------------------------------------------------------------------------疑惑在这一点上:既然controller都已经release了,为什么下边还能调用 addsubview方法,通过打印NSLog才知道问题出在这一点上:
[viewControllers replaceObjectAtIndex:page withObject:controller];