2013-05-21 169 views
-4

我知道這個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

回答

2

如果在點擊XCode中的方法時按下ALT鍵,則可以看到有關該方法的更多信息,包括可用性。在「可用性」部分中,如果當前方法已被棄用,它將提示使用哪種方法。對於dismissModalViewControllerAnimated:,建議使用dismissViewControllerAnimated:completion:。所以你可以用完成參數替換爲後者爲零。

enter image description here

+0

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

0

對於iOS 5.0及是

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

您可以在 「完成」 通過無

+0

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

+0

感謝您的澄清,我會編輯我的答案。 – Vertig0