该项目目前有一个名为“Dashboard”的 UIviewController,它充当所有应用程序的主视图。这个主视图由上面的两个子视图组成,有点像拆分视图。主(左视图)的左侧有多个按钮。右侧(右视图)将显示左侧所选按钮的内容。
当按下按钮时,它将创建一个新的视图实例,如下所示:
vcMySchedule_iPad *vcSchedule = [[vcMySchedule_iPad alloc] initWithNibName:@"vcMySchedule_iPad" bundle:nil];
ncDashboard = [[UINavigationController alloc] initWithRootViewController:vcSchedule];
ncDashboard.navigationBar.barStyle = UIBarStyleBlackOpaque;
ncDashboard.view.frame = self.vwRightPanel.bounds;
[self.vwRightPanel addSubview:ncDashboard.view];
问题是,当按下另一个按钮时,它将显示另一个视图,但前一个调用的内存仍然存在,并且前一个视图的 dealloc 永远不会被调用。
我没有使用拆分视图,因为左侧有一个按钮,当按下时它将左侧移动到左侧,右侧将左侧移动以完全查看。
有什么办法吗?
更新了一些图片...
主要(MainViewController):
压制课程目录:
vcCourseCatalog_iPad *vcCourse = [[vcCourseCatalog_iPad alloc] initWithNibName:@"vcCourseCatalog_iPad" bundle:nil];
ncDashboard = [[UINavigationController alloc] initWithRootViewController:vcCourse];
ncDashboard.navigationBar.barStyle = UIBarStyleBlackOpaque;
ncDashboard.view.frame = self.vwRightPanel.bounds;
[self.vwRightPanel addSubview:ncDashboard.view];
当从表格中选择一行时,它会显示详细信息,如果用户按下按钮,则视图将显示为最大。
我想我可能一直认为新观点是错误的。释放的对象在哪里?