Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.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 为什么赢了';这不是视图控制器初始化吗?(没关系)_Iphone_Uiviewcontroller - Fatal编程技术网

Iphone 为什么赢了';这不是视图控制器初始化吗?(没关系)

Iphone 为什么赢了';这不是视图控制器初始化吗?(没关系),iphone,uiviewcontroller,Iphone,Uiviewcontroller,在试图调试为什么视图控制器初始化为空时,我发现了一个奇怪的地方。看看这个: OffersSearchController *searchController = [[OffersSearchController alloc] initWithNibName:@"This is a completely bogus nib name." bundle:nil]; 没有一个投诉。我看到过这种结构崩溃,抱怨找不到名为“这完全是假的…”的笔尖,但这次不是。相反

在试图调试为什么视图控制器初始化为空时,我发现了一个奇怪的地方。看看这个:

OffersSearchController *searchController = [[OffersSearchController alloc]
        initWithNibName:@"This is a completely bogus nib name."
             bundle:nil];
没有一个投诉。我看到过这种结构崩溃,抱怨找不到名为“这完全是假的…”的笔尖,但这次不是。相反,我的searchController将导航控制器推上,就好像它已成功加载一样。但是它是空的——我可以看到另一个视图的全屏,它(意外地!)“在”我的UINavigationController堆栈下面

这里发生了什么事?
[OfferSearchController alloc]
是否因为某种原因返回为零

编辑:没关系。这里有一个教训:当您打算实现
viewdiload
时,不要实现
loadView
。哦。漫长的一周。

没有说明如果指定的nib名称无效会发生什么。因此,可能会将无效的nib名称视为与nil名称相同的名称。但是,它确实表示返回值始终是初始化的UIViewController

因此,该代码所做的是分配/初始化一个没有nib的新OfferSearchController。视图显示为空,因为它是空的。你可能以前从未真正见过那次坠机,因为它不应该发生;发生的事情完全正常。

没有说明如果指定的nib名称无效会发生什么。因此,可能会将无效的nib名称视为与nil名称相同的名称。但是,它确实表示返回值始终是初始化的UIViewController

因此,该代码所做的是分配/初始化一个没有nib的新OfferSearchController。视图显示为空,因为它是空的。你可能以前从未真正见过那次坠机,因为它不应该发生;发生的一切完全正常。

以下是答案(感谢@Eric Petroleje建议我发布并接受答案)

周五下午晚些时候,我的工作效率很高,速度远远超过了推荐速度。我在
-(void)loadView
中设置了属性初始值设定项和拾取轮数据源阵列,而不是在
-(void)viewDidLoad
中设置

与允许调用对loadView的调用传播到UIViewController不同,它很高兴地初始化了我的字段,仅此而已。

以下是答案(感谢@Eric Petroleje建议我发布并接受答案)

周五下午晚些时候,我的工作效率很高,速度远远超过了推荐速度。我在
-(void)loadView
中设置了属性初始值设定项和拾取轮数据源阵列,而不是在
-(void)viewDidLoad
中设置


与其允许
initWithNibName:
call对loadView的调用传播到UIViewController,它很高兴地初始化了我的字段,仅此而已。

可能希望将您的解决方案作为答案发布并接受它。可能会让将来在谷歌上发现这个问题的人更容易一些。可能想把你的解决方案作为一个答案发布并接受它。如果你指定了一个无效的笔尖名称,应用程序实际上会崩溃如果你指定了一个无效的笔尖名称,应用程序实际上会崩溃