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:
Alloc:Code:@property (assign, nonatomic) UITabBarController *tbController;
Dealloc: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];
View1 is an empty UIViewController with a debug output in viewDidLoad and dealloc. View2 too.Code:[tbController release];
I'm missing something or there is a bug?.Code:- (void)viewDidLoad { NSLog(@"INIT view1"); [super viewDidLoad]; } - (void)dealloc { NSLog(@"DEALLOCING 1"); [super dealloc]; }



LinkBack URL
About LinkBacks








Reply With Quote

Bookmarks