对于我当前的应用,我正在使用UIStoryboard
并以图形方式设置初始视图控制器,但是当我再次尝试使用initialViewController
弹出设置UINavaigationContoller
时,例外情况说1} p>
插入nil对象
[__NSPlaceholderDictionary initWithObjects:forKeys:count:]:
尝试从对象[1]'
我想出了这一行中的异常
UINavigationController *navController=[[UINavigationController alloc]initWithRootViewController:detailViewController];
但是当我将上面一行更改为
时 UINavigationController *navController = [[UINavigationController alloc]init];
我不会有任何例外。
我正在编写考虑UIStoryboard
的代码,但我想这个异常代码适用于XIB
。
这里发生了什么?
答案 0 :(得分:0)
在分配给NavControler之前,您应该确保创建了detailViewController。
// You must:
UIViewController *detailViewController = [[UIViewController alloc] init];
UINavigationController *navController=[[UINavigationController alloc]initWithRootViewController:detailViewController];
如果您正在使用storyBoards,请添加星形viewController UINavigationController并将根segue与您的detailViewController连接。 (此外,您可以创建NavigationController的插座,以便通过代码放置一些属性。)
答案 1 :(得分:0)
首先导入DetailViewController和创建对象,如下面的代码
DetailViewController *detailVC = [[DetailViewController alloc] init];
UINavigationController *navController=[[UINavigationController alloc]initWithRootViewController:detailVC];