[英]IBOutlets nil and view not loading after presentModalViewController:animated:
[英]What are the possibilities of getting NULL IBOutlets while loading a view.. IOS
我一直在研究IOS应用程序。 在我有单个项目之前,所有源代码都是在该设置中正确加载了应用程序,现在我将其拆分为多个项目。 之后我现在面临一个问题...在ViewDidLoad中,IBOutlet的按钮都是零值,视图也加载黑色。 我无法猜出是什么问题。 任何可能导致这种情况的想法......
我加载了我的观点......
main =[[main_page_controller alloc] init];
if (main != NULL)
[root.navigationController pushViewController:main animated:YES];
我不确定我需要在这里发布哪部分代码,以使问题更容易理解......请分享您的建议..
编辑:我运行了我的旧项目,然后尝试使用我的新设置应用程序成功启动。 我从设备中删除了应用程序,并仅使用新设置加载,问题再次显示出来。 那么旧的设置是什么? 我在新的...中错过了什么?
首先检查xib(nib)文件中的所有连接,如果已连接,则断开它们,清理项目(cmd + k) ,然后再次连接连接。
看看这张图片是否有联系
请参阅文档
要使用nib初始化视图控制器对象,可以使用initWithNibName:bundle:方法指定视图控制器使用的nib文件。 然后,当视图控制器需要加载其视图时,它会使用存储在nib文件中的信息自动创建和配置视图。
初始化视图控制器,并且您正在为视图使用.xib文件时,需要调用initWithNibName:bundle:
. 这意味着它将使用xib文件在loadView
创建视图。 目前,您只是使用init
,这将创建一个空白的UIViewController
对象。
所以在这种情况下,你的代码就是(假设主包中的.xib被称为“MainViewControllerView.xib”):
main =[[main_page_controller alloc] initWithNibName:@"MainViewControllerView" bundle:nil];
if (main) {
[root.navigationController pushViewController:main animated:YES];
}
还要检查你的.xib文件,看看是否所有的IBOutlet
都连接到了你想要的东西。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.