Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.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
Objective c 目标C iOS预加载视图_Objective C_Ios_Xcode_Uiwebview_Uitabbarcontroller - Fatal编程技术网

Objective c 目标C iOS预加载视图

Objective c 目标C iOS预加载视图,objective-c,ios,xcode,uiwebview,uitabbarcontroller,Objective C,Ios,Xcode,Uiwebview,Uitabbarcontroller,我有一个基于选项卡栏的应用程序,有3个选项卡(视图)。在应用程序委托或加载的第一个选项卡中,如何在后台加载其他两个视图的全部内容 现在,我在讨论中的每个视图中都有一个webView。我的部分问题是,它们被加载到viewDidLoad中,但会导致一个空白屏幕的等待 谢谢试着: viewController.view.hidden = NO; 对于任何要预加载的viewController,它都已分配并初始化。也就是说,在alloc和initWithNibName之后:。。。已经做了。答案对我来

我有一个基于选项卡栏的应用程序,有3个选项卡(视图)。在应用程序委托或加载的第一个选项卡中,如何在后台加载其他两个视图的全部内容

现在,我在讨论中的每个视图中都有一个webView。我的部分问题是,它们被加载到viewDidLoad中,但会导致一个空白屏幕的等待

谢谢

试着:

viewController.view.hidden = NO; 

对于任何要预加载的viewController,它都已分配并初始化。也就是说,在alloc和initWithNibName之后:。。。已经做了。

答案对我来说不是那么清楚。。因此,如果在
uitabarviewcontroller
中包含3个
UIViewController
(或它们的子类),那么在添加到uitabarviewcontroller实例之前,强制它们加载视图的方法是在AppDelegate rich中调用它们的
-view
属性。大概是这样的:

UIViewController * myViewController = [[UIViewController alloc] initWithNibName:@"mynib" bundle:nil];
[myViewController view];//<--here you are forcing the view to be loaded before it will be called from the tabbatviewcontroller
if (vc.view == nil)      // force load of view
{
    NSLog(@"%s ***** ERROR: view == nil: %@", __PRETTY_FUNCTION__, vc);
}
UIViewController*myViewController=[[UIViewController alloc]initWithNibName:@“mynib”bundle:nil];

[myViewController视图]// 我通常使用这样的方式:

UIViewController * myViewController = [[UIViewController alloc] initWithNibName:@"mynib" bundle:nil];
[myViewController view];//<--here you are forcing the view to be loaded before it will be called from the tabbatviewcontroller
if (vc.view == nil)      // force load of view
{
    NSLog(@"%s ***** ERROR: view == nil: %@", __PRETTY_FUNCTION__, vc);
}

注意:调用vc.view后,视图永远不应该为零——这是一个非常严重的分配错误。

如果我没记错的话,您可以在
viewController.view中使用任何语句,并获得相同的效果。我认为
视图
属性可能是通过延迟加载实现的,因此只要有人尝试引用它,它就会加载。但是这个属性不需要“return”,因此不会显示警告!)这在Xcode 6(至少在使用Swift时)中更为重要,它在不使用viewController.view的值时报告错误。