if ([self respondsToSelector:@selector(dismissViewControllerAnimated:completion:)])
{[[self presentingViewController] dismissViewControllerAnimated:YES completion:nil];} //post-iOS6.0
else {[self dismissModalViewControllerAnimated:YES];} //pre-iOS6.0
我正在使用respondsToSelector(上面)代码处理弃用的方法。这样我的应用程序就可以与旧版iOS兼容,但是我在代码中收到警告:“'dismissModalViewControllerAnimated:'已过时:在iOS 6.0中首次过时。”
我个人不喜欢在代码中出现任何警告,但更重要的是,我在某个地方读到过,苹果公司会抱怨你的代码中出现警告。
1)苹果公司会抱怨你代码中出现警告吗?
2)我的处理被弃用的方法的方法正确吗?
3)有没有办法关闭被弃用方法的警告?
__IPHONE_OS_VERSION_MIN_REQUIRED
做#if
逻辑,而不是抑制警告。 - Rob