从 NavigationBarItem 转到 UINavigationViewController

Posted

技术标签:

【中文标题】从 NavigationBarItem 转到 UINavigationViewController【英文标题】:Segue from NavigationBarItem to UINavigationViewController 【发布时间】:2013-05-13 19:07:26 【问题描述】:

我有一个教程,在教程结束时,我想从 UIViewController 推送到 UINavigationViewController。我需要 UINavigationViewController 因为我正在使用 ECSlidingViewController 。此 UINavigationViewController 管理的视图是 UITableViewController。好的,到目前为止一切都很容易理解,对吧?没问题。但现在变得很奇怪。 现在我使用这段代码(IBAction):

HomeNavViewController *home = [[HomeNavViewController alloc] init];
[self presentModalViewControllerhome animated:YES];

我得到的一切都是来自调试器的应用程序终止。 有没有人经历过这种情况?

提前感谢您的帮助:)

这是错误信息(对不起,我忘了把它放在首位:)):

2013-05-14 16:43:07.313 187ers[1124:c07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSArrayM insertObject:atIndex:]: object cannot be nil'
*** First throw call stack:
(0x2c3e012 0x210be7e 0x2bf1b6a 0x2bf1a20 0x2aca3f 0xeac4 0x340103 0x34042b 0x34df80 0x54a223 0x346ee3 0x347167 0x3471a7 0xe4cc 0x211f705 0x2602c0 0x49ca64 0x211f705 0x2602c0 0x260258 0x321021 0x32157f 0x3206e8 0x28fcef 0x28ff02 0x26dd4a 0x25f698 0x2b99df9 0x2b99ad0 0x2bb3bf5 0x2bb3962 0x2be4bb6 0x2be3f44 0x2be3e1b 0x2b987e3 0x2b98668 0x25cffc 0x2e4d 0x2d75)
libc++abi.dylib: terminate called throwing an exception
(lldb) 

【问题讨论】:

你能发布错误信息吗? 完成。抱歉忘记发了 【参考方案1】:

您的错误是由对 NSMutableArray 的非法操作引起的(您尝试在 NSMutableArray 中插入一个 nil 对象)。检查您的代码 HomeNavViewController `viewDidLoad/viewWillAppear/viewDidAppear(如果您实现了它们)并确保您不要尝试将 nil 对象插入到数组中

另外,如果你在[self presentModalViewControllerhome animated:YES]; 之后执行代码,检查是否存在相同的问题,将 nil 对象插入 NSMutableArray。

【讨论】:

您应该通过异常断点来查看导致崩溃的行。

以上是关于从 NavigationBarItem 转到 UINavigationViewController的主要内容,如果未能解决你的问题,请参考以下文章

如何使navigationBarTitle和navigationBarItem的重叠区域可点击 - SwiftUI

改动UINavigationBar (导航栏)上NavigationBarItem 的字体大小和颜色的用法

如何在 SwiftUI NavigationBarItem 中用 < 替换 <Back 按钮?

如何从 DOM 节点转到 viewModel 对象?

Angularjs UI-route 为啥无法跳转到 test.html

在 Swift UI/Xcode 中创建导航链接错误