iOS-停止显示模态UIViewController

iOS-停止显示模态UIViewController,ios,objective-c,uiviewcontroller,low-memory,Ios,Objective C,Uiviewcontroller,Low Memory,我有一个modalUIViewController。 收到内存不足警告后,我想关闭该模式。 为此,我编写了以下代码- - (void)didReceiveMemoryWarning { [self dismissViewControllerAnimated:YES completion:nil]; [super didReceiveMemoryWarning]; } 这在大多数情况下都很有效。但是,当我已经初始化视图控制器,但尚未在屏幕上显示它,并且此时出现内存警告时,代码执行

我有一个modal
UIViewController
。 收到内存不足警告后,我想关闭该模式。 为此,我编写了以下代码-

- (void)didReceiveMemoryWarning
{
    [self dismissViewControllerAnimated:YES completion:nil];
    [super didReceiveMemoryWarning];
}
这在大多数情况下都很有效。但是,当我已经初始化视图控制器,但尚未在屏幕上显示它,并且此时出现内存警告时,代码执行将继续,模式不会因为尚未显示而被取消,并且当我的执行达到显示它的点时,模式仍会显示


我如何着手处理此场景并防止模式出现?如果有不清楚的地方,请告诉我,我会尽量解释清楚。

你能根据下面的代码检查结果吗

- (void)didReceiveMemoryWarning
{
    if(!self.myVC)
    {
     [self presentViewController:myVC animated:NO 
     completion:
               { [self dismissViewControllerAnimated:NO completion:nil];}];
    }
    else
     [self dismissViewControllerAnimated:YES completion:nil];
}

当收到内存警告时,如果未显示模态,则可以释放模态视图控制器并将其等于零。您可以在呈现模式视图后设置一个bool,并在didReceiveMemoryWarning中使用该bool关闭已呈现的模式视图

-(void)didReceiveMemoryWarning
{
    if(!_isModalPresnted)
    {
        [_modalViewController release]
        _modalViewController = nil;
    }
    else
    {
        [self dismissViewControllerAnimated:YES completion:nil];
    }
}
因此,当您的执行达到呈现的点时,您可以进行检查

if(_modalViewController)
{
      _isModalPresnted = YES;
     [self presentViewController:_modalViewController animated:YES completion:nil];

}

您不想在收到内存不足警告后显示一次模式视图吗?