Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.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
如何在没有警告的情况下解决iOS中的单独问题?_Ios_Warnings - Fatal编程技术网

如何在没有警告的情况下解决iOS中的单独问题?

如何在没有警告的情况下解决iOS中的单独问题?,ios,warnings,Ios,Warnings,下面的代码确实有效,但它仍然让我感到沮丧,因为在else块中,不推荐的方法调用会导致警告 if ([self.navigationController respondsToSelector:@selector(dismissViewControllerAnimated:completion:)]) { [self.navigationController dismissViewControllerAnimated:YES completion:nil]; } else { //H

下面的代码确实有效,但它仍然让我感到沮丧,因为在
else
块中,不推荐的方法调用会导致警告

if ([self.navigationController respondsToSelector:@selector(dismissViewControllerAnimated:completion:)])
{
    [self.navigationController dismissViewControllerAnimated:YES completion:nil];
}
else
{
    //Here,the warning goes!
    //dismissModalViewControllerAnimated is deprecated
    [self.navigationController dismissModalViewControllerAnimated:YES];
}

如何隐藏已解除的警告,或者是否有其他方法解决此问题?

您可以临时禁用相关代码行周围的弃用警告:

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"

[self.navigationController dismissModalViewControllerAnimated:YES];

#pragma clang diagnostic pop

您可以暂时禁用相关代码行周围的弃用警告:

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"

[self.navigationController dismissModalViewControllerAnimated:YES];

#pragma clang diagnostic pop

我不认为有任何理由同时保持DismissViewController和DismissModalViewController的激活状态。由于项目的部署目标为6.0,且iOS 6 SDK中不推荐DismissModalViewController,因此您将收到DismissModalViewController初始化的警告

  • 如果您希望应用程序支持6.0以下的iOS,请将部署目标更改为6.0以下(例如5.0),并仅使用dismissModalViewControllerAnimated来解除模态
  • 如果您希望您的应用程序支持iOS 6.0+,请将部署目标保持为6.0,并仅使用dismissViewControllerAnimated来解除显示的控制器

  • 我不认为有任何理由同时保持DismissViewController和DismissModalViewController的激活状态。由于项目的部署目标为6.0,且iOS 6 SDK中不推荐DismissModalViewController,因此您将收到DismissModalViewController初始化的警告

  • 如果您希望应用程序支持6.0以下的iOS,请将部署目标更改为6.0以下(例如5.0),并仅使用dismissModalViewControllerAnimated来解除模态
  • 如果您希望您的应用程序支持iOS 6.0+,请将部署目标保持为6.0,并仅使用dismissViewControllerAnimated来解除显示的控制器

  • 谢谢。但我希望我的应用程序同时支持iOS 4.3以上版本(包括iOS 6.0)。不仅支持iOS 6.0以下版本或iOS 6.0+版本。而且,我认为dismissModalViewControllerAnimated即使在部署目标低于6.0的情况下也适用于iOS 6.0谢谢。但我希望我的应用程序同时支持iOS 4.3以上版本,包括iOS 6.0。不仅适用于低于6.0或iOS 6.0+的iOS。而且,我认为dismissModalViewControllerAnimated即使在部署目标低于6.0的情况下也适用于iOS 6.0