gpt4 book ai didi

ios - UINavigationController 不会推送其他 View Controller ?

转载 作者:行者123 更新时间:2023-11-28 22:53:15 25 4
gpt4 key购买 nike

所以我在我的应用程序的委托(delegate)中创建了一个 UINavigationController 并使用我的 RootViewController 实例对其进行了初始化。 UINavigationController 添加为应用程序 UIWindow 的 subview 。 (如果重要的话,我的 RVC 有一个自定义初始化程序。)

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
_window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

_viewController = [[RootViewController alloc] initWithPath:@"/private/var/mobile/"];
_viewController.title = @"mobile";

UINavigationController *nav1 = [[[UINavigationController alloc] initWithRootViewController:_viewController] autorelease];

//This part I'm not sure about as well
[_window addSubview:nav1.view];
[_window makeKeyAndVisible];

return 0;
}

根据这些信息,我正在尝试将 RVC 的另一个实例从 UITableView 推送到导航堆栈,如下所示:

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
//I've tried it without the if statement as well
if(indexPath.section == 0){
RootViewController *detailView = [[RootViewController alloc] initWithPath:launchDirectory];
detailView.title = relativeDirectory;
[self.navigationController pushViewController:detailView animated:YES];

另外请注意,我的 RVC tableview 的数据源和委托(delegate)已设置为“self”。

我的问题是:为什么即使我在表格中选择了一行, View 仍然保持不变?该表不会推送到新表,并且在选择一行后我仍然看到相同的单元格内容。换句话说,没有任何反应......

感谢您的帮助。

最佳答案

您的导航 Controller 可能是 nil,这意味着您的 -autorelease 有点太多了。通常,导航 Controller 会持续存在,直到调用委托(delegate)的 dealloc 方法,所以在那里释放它。

关于ios - UINavigationController 不会推送其他 View Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11386129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com