UINavigationController:推自我?

Posted

技术标签:

【中文标题】UINavigationController:推自我?【英文标题】:UINavigationController: push self? 【发布时间】:2011-05-18 23:55:57 【问题描述】:

我有一个自定义类,它是 UITableViewController,它位于 UINavigationController 内部。通常,当我单击一个单元格时,我会将一个新类推送到堆栈上,这很好。这一次,我想将 self 压入堆栈(传递不同的字符串 onLoad 以便我加载不同的内容),以便我可以重用我的代码,这可能吗?还是我总是必须创建一个二级类来推送?

【问题讨论】:

【参考方案1】:

您可以推送同一个视图控制器的新实例,而不是“推自己”。只需像这样创建一个新的:

MyViewController *viewController = [[MyViewController alloc] initWithNibName:"MyView"];
viewController.customString = @"Something else";
[self.navigationController pushViewController:viewController];
[viewController release];

我还没有测试过这个,而且已经很晚了,所以可能会有一些错误,但你应该可以接受。让我知道它是否有效!

【讨论】:

嗯,这很容易!谢谢! 没问题。很高兴我能帮上忙。我刚从我的世界下车,看到它在凌晨 1 点消失了!!我的睡觉时间......【参考方案2】:

我的解决方案:

MyViewController *viewController = [[MyViewController alloc] initWithNibName:"MyView"];
viewController.customString = @"Something else";
[self.navigationController pushViewController:viewController];

【讨论】:

注意,这不是创建a secondary class,而是创建相同类型的新实例。

以上是关于UINavigationController:推自我?的主要内容,如果未能解决你的问题,请参考以下文章

带有主 UINavigationController 和详细 UINavigationController 的 UISplitViewcontroller

带有 UINavigationController 的 UITabBarController,在 hidesBottomBarWhenPushed 上隐藏 UINavigationController

在 UINavigationController 内的 UITabBarcontroller 中添加 UINavigationController?

UINavigationController 与 AppDelegate 中的 UISegmentedControl 切换 UINavigationController 的 rootviewcontr

从一个 UINavigationController 到另一个 UINavigationController (Swift iOS 9, xcode 7)

UINavigationController