Iphone 加载视图时获取空IBOutlets的可能性有多大。。国际标准化组织
我一直在开发IOS应用程序。以前我有一个项目,其中所有的源代码都在那个里,应用程序正确地加载在那个设置中,现在我已经将它拆分为多个项目。在那之后我现在面临一个问题。。。在ViewDidLoad中,按钮的IBOutlet都是零值,视图也加载黑色。我猜不出是什么问题。你知道是什么导致了这一切 我已经像这样加载了我的视图Iphone 加载视图时获取空IBOutlets的可能性有多大。。国际标准化组织,iphone,ios,xcode,cocoa-touch,uiview,Iphone,Ios,Xcode,Cocoa Touch,Uiview,我一直在开发IOS应用程序。以前我有一个项目,其中所有的源代码都在那个里,应用程序正确地加载在那个设置中,现在我已经将它拆分为多个项目。在那之后我现在面临一个问题。。。在ViewDidLoad中,按钮的IBOutlet都是零值,视图也加载黑色。我猜不出是什么问题。你知道是什么导致了这一切 我已经像这样加载了我的视图 main =[[main_page_controller alloc] init]; if (main != NULL) [root.navigatio
main =[[main_page_controller alloc] init];
if (main != NULL)
[root.navigationController pushViewController:main animated:YES];
我不确定我需要在这里发布代码的哪一部分,以使问题更容易理解。。。请分享你的建议
编辑:我运行了我的旧项目,然后尝试成功启动我的新设置应用程序。我从设备中删除了应用程序,并仅使用新设置加载,问题再次出现。那么,在旧的设置中有什么?我在纽约遗漏了什么 首先检查xib(nib)文件中的所有连接,如果其已连接,则只需断开连接,清除project(cmd+k),然后再次连接 查看此图像以获取连接 请参阅 要使用nib初始化视图控制器对象,请使用initWithNibName:bundle:方法指定视图控制器使用的nib文件。然后,当视图控制器需要加载其视图时,它会使用nib文件中存储的信息自动创建和配置视图 初始化视图控制器时,如果要为视图使用.xib文件,则需要调用
initWithNibName:bundle:
。这意味着它将使用xib文件在loadView
中创建视图。目前,您只需使用init
,它将创建一个空白的UIViewController
对象
因此,在本例中,您的代码是(假设.xib在主捆绑包中被称为“MainViewControllerView.xib”):
另外,请检查您的.xib文件,查看是否所有的
IBOutlet
s都连接到了您想要的内容。Ya,我以前尝试过,但仍然没有成功:(如果是init,也可以使用initWithNibNamed。同时检查视图出口是否连接到视图。当我拆分项目时,我只是复制了文件并创建了单独的文件夹,这会导致连接中断吗?不确定,有时引用可能会断开。)change@MidhunMP我会检查谢谢,当尝试使用nib名称时,它崩溃了,无法加载nib…任何Idea?你有正确的nib名称吗?nib是正确目标的一部分吗?它是捆绑包的一部分吗。nib名称似乎正确。是的,它是捆绑包的一部分。但你这里所说的正确目标是什么意思?我有一个工作区,添加了两个项目,一个项目正在加载另一个项目的nib。它会工作吗?要更改目标,请使用右手边inspector打开,选择左侧的nib,并确保右侧选中了正确的目标。您能告诉我…加载另一个项目(同一工作区)中的nib需要做哪些更改?
main =[[main_page_controller alloc] initWithNibName:@"MainViewControllerView" bundle:nil];
if (main) {
[root.navigationController pushViewController:main animated:YES];
}