我是iphone的新手,我在按下按钮时尝试打开视图, 在我的班级" ReaderViewController"我写了以下代码:
- (void)tappedInToolbar:(ReaderMainToolbar *)toolbar emailButton:(UIButton *)button
{
#ifdef DEBUGX
NSLog(@"%s", __FUNCTION__);
#endif
#if (READER_ENABLE_MAIL == TRUE) // Option
instantiateViewControllerWithIdentifier:@"searchView"];
if (printInteraction != nil) [printInteraction dismissAnimated:NO]; // Dismiss
SearchViewController *searchController = [self.storyboard instantiateViewControllerWithIdentifier:@"searchView"];
searchController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
searchController.modalPresentationStyle = UIModalPresentationFullScreen;
[self presentModalViewController:searchController animated:YES];
[searchController release];
#endif // end of READER_ENABLE_MAIL Option
}
我想何时打开此控制器的视图" SearchViewController"在故事板中,我给了SearchViewController它的标识符名称" searchView" 但是当我跑步时,它给了我以下例外:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Application tried to present a nil modal view controller on target <ReaderViewController: 0x6864930>.'
任何帮助? 谢谢你提前。
答案 0 :(得分:1)
在故事板中没有带标识符searchView
的视图控制器,因此实例化失败并且
instantiateViewControllerWithIdentifier:
方法返回nil。仔细检查您的Storyboard设置,并注意标识符和名称通常区分大小写,可能您将视图控制器命名为SearchView
而不是searchView
。
也可能是
的情况self.storyboard
本身未正确初始化或实例化,因此为零。
编辑:所以你是从代码创建故事板,但事实上你并非如此。解决方案是手动实例化UIStoryboard。
至于您自己的评论,您最好分配self.storyboard = Storyboard
,否则您将继续收到这些错误...
答案 1 :(得分:0)
我认为self.storyboard
是nil
。这意味着您传递给它的每条消息也会产生nil
。