Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 加载视图时获取空IBOutlets的可能性有多大。。国际标准化组织_Iphone_Ios_Xcode_Cocoa Touch_Uiview - Fatal编程技术网

Iphone 加载视图时获取空IBOutlets的可能性有多大。。国际标准化组织

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

我一直在开发IOS应用程序。以前我有一个项目,其中所有的源代码都在那个里,应用程序正确地加载在那个设置中,现在我已经将它拆分为多个项目。在那之后我现在面临一个问题。。。在ViewDidLoad中,按钮的IBOutlet都是零值,视图也加载黑色。我猜不出是什么问题。你知道是什么导致了这一切

我已经像这样加载了我的视图

 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];
}