Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.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 在viewDidLoad或ViewDidDisplay中放置popViewControllerAnimated:将不起作用_Iphone_Objective C_Ios - Fatal编程技术网

Iphone 在viewDidLoad或ViewDidDisplay中放置popViewControllerAnimated:将不起作用

Iphone 在viewDidLoad或ViewDidDisplay中放置popViewControllerAnimated:将不起作用,iphone,objective-c,ios,Iphone,Objective C,Ios,我有一个视图(viewB),它像往常一样使用导航控制器从另一个视图(viewA)使用pushViewController推入,但是出于某种原因,我希望viewB的控制器使用[self.navigationController popViewControllerAnimated:YES]弹出视图从它的viewdiload方法或viewdideappear方法内部,但它们都不起作用,即没有发生任何事情(应用程序中没有崩溃),但是,我在viewB中有一个UIButton,带有iAction,它只调用[

我有一个视图(viewB),它像往常一样使用导航控制器从另一个视图(viewA)使用pushViewController推入,但是出于某种原因,我希望viewB的控制器使用
[self.navigationController popViewControllerAnimated:YES]弹出视图从它的
viewdiload
方法或
viewdideappear
方法内部,但它们都不起作用,即没有发生任何事情(应用程序中没有崩溃),但是,我在viewB中有一个UIButton,带有iAction,它只调用
[self.navigationController popViewControllerAnimated:YES]如果点击按钮,它将工作,视图将弹出到上一个视图!!如果我删除了
[self.navigationController popViewControllerAnimated:YES]来自ViewDiLoad或ViewDidAspect方法,因为弹出将从内存中释放当前视图及其所有子视图。
问题是如何从viewDidLoad或ViewDidAspect方法内部将当前视图(viewB)弹出到上一个视图(viewA)

提前非常感谢。

试试制作方法

- (void)popSelf {
    [self.navigationController popViewControllerAnimated:YES];
}
在<代码>视图中显示

[self performSelector:@selector(popSelf) withObject:nil afterDelay:0.0f]; 
这将把选择器添加到runloop中,因此它将在
viewdide出现后执行

- (void)popSelf {
    [self.navigationController popViewControllerAnimated:YES];
}
在<代码>视图中显示

[self performSelector:@selector(popSelf) withObject:nil afterDelay:0.0f]; 
这将向runloop添加选择器,因此它将在
ViewDidDisplay
之后执行