'dismissModalViewControllerAnimated:'已弃用

问题描述:

我知道这个question已被问到,但它如何解决问题referring到这个line'dismissModalViewControllerAnimated:'已弃用

-(void) achievementViewControllerDidFinish:(GKAchievementViewController *)viewController 
{ 
    AppController *app = (AppController*) [[UIApplication sharedApplication] delegate]; 
    [[app navController] dismissModalViewControllerAnimated:YES]; 
} 

参照[[app navController] dismissModalViewControllerAnimated:YES]; 'dismissModalViewControllerAnimated:' is deprecated in iOS 6.0

+0

“我知道这个问题已经被问” ...... **和回答** – borrrden

如果在点击XCode中的方法时按下ALT键,则可以看到有关该方法的更多信息,包括可用性。在“可用性”部分中,如果当前方法已被弃用,它将提示使用哪种方法。对于dismissModalViewControllerAnimated:,建议使用dismissViewControllerAnimated:completion:。所以你可以用完成参数替换为后者为零。

enter image description here

+0

好笑。在2017年,Xcode 8没有显示任何替代方案或最佳做法...... – ecth

对于iOS 5.0及是

- (void)dismissViewControllerAnimated:(BOOL)flag completion:(void (^)(void))completion 

您可以在 “完成” 通过无

+0

您应该在iOS 5.0及更高版本中使用此方法,而不仅仅是6.0和更高版本。 – rmaddy

+0

感谢您的澄清,我会编辑我的答案。 – Vertig0