Quote:
Originally Posted by BrianSlick
Code:
viewController=nil;
viewController is now nil. So that means this:
Code:
[viewController release];
...is the same thing as doing this:
What do you expect that to do?
|
I have a NSMutableArray of ViewControllers (Articulo1 class) so I want to release that ViewControllers in order to load others ViewControllers. When I load 10 or 11 the app crashed becouse it doesnīt free the memory.
I dont know why, but in 3.2 it works.
so, in Articulo1.m I want to release all the IBOutlets:
- (void)dealloc {
NSLog(@"dealloc Articulo1");
[scrollView1 release];
[scrollView2 release];
[scrollView3 release];
[Parrafo1 release];
[Parrafo2 release];
[Parrafo3 release];
[Parrafo4 release];
[Parrafo5 release];
[Parrafo6 release];
[Parrafo7 release];
[Parrafo8 release];
[Portada release];
[Pagina1 release];
[Pagina2 release];
[Pagina3 release];
[Pagina4 release];
[Pagina5 release];
[botoninfo1 release];
[botoninfo2 release];
[botonInternet1 release];
[botonInternet2 release];
[botonInternet3 release];
[botonInternet4 release];
[botonInternet5 release];
[botonInternet6 release];
[paginas release];
// [articulo release];
[super dealloc];
}
- (void)viewDidUnload {
player=nil;
NSLog(@"viewDidUnload Articulo1");
self.scrollView1=nil;
self.scrollView2 =nil;
self.scrollView3 =nil;
self.Parrafo1 =nil;
self.Parrafo2 =nil;
self.Parrafo3 =nil;
self.Parrafo4 =nil;
self.Parrafo5 =nil;
self.Parrafo6 =nil;
self.Parrafo7 =nil;
self.Parrafo8 =nil;
self.Portada =nil;
self.Pagina1 =nil;
self.Pagina2 =nil;
self.Pagina3 =nil;
self.Pagina4 =nil;
self.Pagina5 =nil;
self.botoninfo1 =nil;
self.botoninfo2 =nil;
self.botonInternet1 =nil;
self.botonInternet2 =nil;
self.botonInternet3 =nil;
self.botonInternet4 =nil;
self.botonInternet5 =nil;
self.botonInternet6 =nil;
self.paginas =nil;
// [super viewDidUnload];
}
in superclass.m i have the array and want to remove the viewcontrollers:
for (int i = 0; i < [scrollViewPages count]; i++)
{
//UIView *viewController = [scrollViewPages objectAtIndex:i];
Articulo1 *viewController=[scrollViewPages objectAtIndex:i];
if((NSNull *)viewController != [NSNull null])
{
if(i < currentPage-1 || i > currentPage+1)
{
//[viewController removeFromSuperview];
//[scrollViewPages replaceObjectAtIndex:i withObject:[NSNull null]];
//[viewController viewDidUnload];
[viewController.view removeFromSuperview];
// [viewController viewDidUnload];
//viewController=nil;
[viewController release];
//[sum release];
[scrollViewPages replaceObjectAtIndex:i withObject:[NSNull null]];
// [scrollView1.subviews replaceObjectAtIndex:i withObject:[NSNull null]];
// viewController=nil;
// [viewController release];
cargadas--;
}
}
}
I think im confusing whit that becouse it works in 3.2 ...