UIViewController memory management
        Posted  
        
            by jAmi
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by jAmi
        
        
        
        Published on 2010-05-13T08:45:27Z
        Indexed on 
            2010/05/13
            11:44 UTC
        
        
        Read the original article
        Hit count: 339
        
Hi I have a very basic issue of memory management with my UIViewController (or any other object that I create); The problem is that in Instruments my Object allocation graph is always rising even though I am calling release on then assigning them nil.
I have 2 UIViewController sub-classes each initializing with a NIB;
I add the first ViewController to the main window like [window addSubView:first.view];
Then in my first ViewController nib file I have a Button which loads the second ViewController like : 
-(IBAction)loadSecondView{
     if(second!=nil){ //second is set as an iVar and @property (nonatomic, retain)ViewController2* sceond; 
         [second release];
         second=nil;
     }
     second=[[ViewController2* second]initWithNibName:@"ViewController2" bundle:nil];
     [self.view addSubView:second.view];
}
In my (second) ViewController2 i have a button with an action method
-(IBAction) removeSecond{
    [self.view removeFromSuperView];
}
Please let me know if the above scheme works in a managed way for memory...? In Instruments It does not show release of any allocation and keeps the bar status graph keeps on rising.
© Stack Overflow or respective owner