[英]Suppressing line specific XCode compiler warnings
与本·戈特利布(Ben Gottlieb)的问题类似,我有一些不赞成使用的电话困扰着我。 有没有一种方法可以按行禁止警告? 例如:
if([[UIApplication sharedApplication]
respondsToSelector:@selector(setStatusBarHidden:withAnimation:)]) {
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
} else {
[[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO]; //causes deprecation warning
}
我只关心那条线。 我不想关闭所有弃用警告。 我也不想做类似通过file禁止特定警告的操作 。
在其他一些情况下,即使编译器生成警告,我也希望将特定行标记为可以。 我本质上是想让我的团队知道问题已得到解决,并避免一遍又一遍地被同一行所困扰。
Vincent Gable发布了一个有趣的解决方案。 简而言之:
@protocol UIApplicationDeprecatedMethods
- (void)setStatusBarHidden:(BOOL)hidden animated:(BOOL)animated;
@end
if([[UIApplication sharedApplication] respondsToSelector:@selector(setStatusBarHidden:withAnimation:)]) {
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
} else {
id<UIApplicationDeprecatedMethods> app = [UIApplication sharedApplication];
[app setStatusBarHidden:YES animated:NO];
}
if([[UIApplication sharedApplication]
respondsToSelector:@selector(setStatusBarHidden:withAnimation:)]) {
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
} else {
[(id)[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.