I need to add more views to a view for handling multiple webaddress and the clicks on the labels. I try to do it in a for statement. My code is something like that:
// we have a UITabbarViewController for holding amongs other the parentViewController
UITabBarController *tabbedViewController = [[UITabBarController alloc] init];
// create the parentViewController
ParentViewController *parentViewController = [[ParentViewController alloc] initWithNibName:@"parentViewController" bundle:nil];
[parentViewController.view setNeedsDisplay];
// add parentViewController into tabbedViewController
tabbedPlayerViewController.viewControllers = [NSArray arrayWithObjects: ... parentViewController, nil];
// All the things are inside a UINavigationController
// push the view
[self.navigationController pushViewController:tabbedViewController animated:YES];
// setting up the views individually...
// not listed here
for (NSDictionary *url in urls) {
// init my controller with a nib file
UIViewController *webadressViewController = [[WebadressViewController alloc] initWithNibName:@"WebadressViewController" bundle:nil];
// position the view ...
// ... not listed here
// add webaddress to parent view
[parentViewController.view addSubview: webaddressViewController.view];
}
[parentViewController release];
[tabbedViewController release];
I think I may have some memory management problem with that because webaddressViewController has 1 as retain count, so it needs to release somewhere in my code. But if I release it within the for block all the subviews desapears.
My question is how can I release that objects?
(As I see the problem is the following: when I call addSubview on parentViewController it will own the webaddressViewController.view but not the webaddressController itself. Therefore if I release the webaddressViewController its view will desappear too.)