【问题标题】:how to release a tabbarcontroller?如何释放一个tabbarcontroller?
【发布时间】:2011-04-28 07:59:51
【问题描述】:

一个UITabBarController'sviewControllersnavigationController,当我释放tabbarcontroller时,我发现内存不会释放?

【问题讨论】:

    标签: iphone ios uitabbarcontroller


    【解决方案1】:

    如果在 .xib 文件中创建它们,则无法释放它们。 它们将被释放,然后您的应用程序结束工作!!!

    【讨论】:

    • 真的吗?如果我分配一个tabbarcontroller,然后释放它,再次分配,再次释放......在我退出应用程序之前内存不会释放?
    【解决方案2】:

    如果您正在编写代码,您可能需要在将导航控制器添加到 tabBarController 后释放它们...

    tabBarController = [[UITabBarController alloc] init];
    
    NSMutableArray *controllerArray = [[NSMutableArray alloc] initWithCapacity:2];
    
    UINavigationController *localNavigationController;
    
    AccountViewController *accountViewController = [[AccountViewController alloc] init];
    localNavigationController = [[UINavigationController alloc] initWithRootViewController:accountViewController];
    [controllerArray addObject:localNavigationController];
    [localNavigationController release];
    [accountViewController release];
    
    AccountHistoryViewController *accountHistoryViewController = [[AccountHistoryViewController alloc] init];
    localNavigationController = [[UINavigationController alloc] initWithRootViewController:accountHistoryViewController];
    [controllerArray addObject:localNavigationController];
    [localNavigationController release];
    [accountHistoryViewController release];
    
    [tabBarController setViewControllers:controllerArray];
    [controllerArray release];
    

    【讨论】:

      【解决方案3】:

      你应该在应用委托类的dealloc方法中释放它们

      - (void)dealloc {
      
         [tabbarcontroller release]; 
         [window release];
          [super dealloc];
      }
      

      【讨论】:

      • 您能否详细描述一下,tabbarcontroller 不在应用委托类中。
      猜你喜欢
      • 1970-01-01
      • 2011-11-17
      • 1970-01-01
      • 1970-01-01
      • 2014-05-14
      • 2021-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多