加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

objective-c – 抑制特定于行的XCode编译器警告

发布时间:2020-12-15 01:43:42 所属栏目:百科 来源:网络整理
导读:与 Ben Gottlieb’s question类似,我有一些不赞成的电话让我烦恼.有没有办法按行抑制警告?例如: if([[UIApplication sharedApplication] respondsToSelector:@selector(setStatusBarHidden:withAnimation:)]) { [[UIApplication sharedApplication] setSta
与 Ben Gottlieb’s question类似,我有一些不赞成的电话让我烦恼.有没有办法按行抑制警告?例如:

if([[UIApplication sharedApplication]
  respondsToSelector:@selector(setStatusBarHidden:withAnimation:)]) {

  [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
 } else {
  [[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO]; //causes deprecation warning
 }

我所关心的只是那条线.我不想关闭所有弃用警告.我也不愿做像suppress specific warnings by 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];
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读