我在单击按钮时打开另一个视图控制器时遇到了一个愚蠢的问题。
在我的故事板上的视图控制器上,我有一个按钮。当用户单击此按钮时,应打开一个新的视图控制器。据我所知,有两种方法可以做到这一点。
- 在代码中
- 在故事板本身
这两种方法都不适合我。首先是故事板的问题:
(来源:livefilestore.com)
我已将我的 mainViewController 与一个导航控制器连接起来,并且我已将我的按钮与我的下一个视图(用于添加项目)连接起来。但是,当我运行程序时,出现以下错误:
'NSGenericException', reason: 'Push segues can only be used when the source controller is managed by an instance of UINavigationController.'
我真的不明白这个错误,因为 mainviewcontroller 是由 UINavigationController 管理的。因此,由于这不起作用,我尝试在代码中处理它。我将 buttonclick 操作连接到 mainViewController.h 文件并在 .m 文件中实现它。
这是用户单击按钮时的操作方法:
- (IBAction)actionBtnAdd:(id)sender {
AddInventoryViewController *addinvController = [self.storyboard instantiateViewControllerWithIdentifier:@"AddInventoryViewController"];
[self presentViewController:addinvController animated:NO completion:nil];
}
另一个viewcontroller在同一个storyboard中,另一个viewcontroller的ID是“AddInventoryViewController”。这给了我以下错误:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSArrayM insertObject:atIndex:]: object cannot be nil'
有谁知道问题吗?解决这个问题的最佳方法是什么?