【发布时间】:2014-02-07 10:49:08
【问题描述】:
我将 MVYMenu 与情节提要 (XCode 5/iOS7) 一起使用。我不得不修改使用 xibs 的示例。 到目前为止,它可以工作,但我认为每次用户单击侧边菜单时实例化控制器时都会泄漏视图控制器:
这是我的代码:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UINavigationController *navigationController;
UIViewController * mrViewController;
if (indexPath.row == 0) {
mrViewController = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"mrViewController1"];
} else if (indexPath.row == 1){
mrViewController = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"mrViewController2"];
} else if (indexPath.row == 2){
mrViewController = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"mrViewController3"];
} else if (indexPath.row == 3){
mrViewController = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"mrViewController4"];
} else {
mrViewController = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"mrViewController1"];
}
navigationController = [[UINavigationController alloc] initWithRootViewController:mrViewController];
[[self sideMenuController] changeContentViewController:navigationController closeMenu:YES];
}
当我监控性能时,每次单击表格单元格以调出新场景时,内存使用量都会增加。我想我必须在上面的代码中的某个地方销毁以前的当前视图控制器,但我不知道如何以及在哪里?我是 iOS 新手,来自 Android...
【问题讨论】:
-
您在使用 ARC 吗?这些
mrViewController相对于该代码所在的表视图如何存在?我不熟悉MVYMenu。它不是普通 Objective-C 的一部分,据我所知,它不一定很常见,所以对它应该如何工作的一些解释可能会有所帮助。
标签: ios iphone storyboard instantiation viewcontroller