Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Reflejo

macrumors newbie
Original poster
Dec 15, 2008
3
0
Hello,



I'm using a tabbarcontroller which i create programatically, when i release the controller without touch any tabitem dealloc works great and all viewcontrollers are deallocated. If i touch some tabBarItem after the realese, tabbarcontroller doesn't release viewcontrollers.

There is a small example similar to what i'm doing.

Definition:

Code:
@property (assign, nonatomic) UITabBarController *tbController;

Alloc:

Code:
    NSMutableArray *tbControllers = [[NSMutableArray alloc] initWithCapacity:3];

    View1 *view1 = [[View1 alloc] init];
    view1.tabBarItem.title = @"1";
    [tbControllers addObject:view1];
    [view1 release];

    View2 *view2 = [[View2 alloc] init];
    view2.tabBarItem.title = @"1";
    [tbControllers addObject:view2];
    [view2 release];
    
    self.tbController = [[UITabBarController alloc] init];
    tbController.viewControllers = tbControllers;
    tbController.view.frame = CGRectMake(0,0, 320, 320);
    [tbControllers release];
    [self.view addSubview:tbController.view];

Dealloc:

Code:
     [tbController release];

View1 is an empty UIViewController with a debug output in viewDidLoad and dealloc. View2 too.

Code:
- (void)viewDidLoad {
     NSLog(@"INIT view1");
     [super viewDidLoad];
}

- (void)dealloc {
     NSLog(@"DEALLOCING 1");
     [super dealloc];
}

I'm missing something or there is a bug?.
 

Reflejo

macrumors newbie
Original poster
Dec 15, 2008
3
0
Also i've noticed that retainCount of each ViewController (inside tabbarController) increase by 1 every time i switch tabbaritem so when i release tabbarcontroller views are not deallocated.

Any idea why?

Thank you
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.