iOS忽略警告/主动添加警告

忽略警告

精确忽略指定代码块的警告

#pragma clang diagnostic push
#pragma clang diagnostic ignored "警告名称"
 
// 被夹在这中间的代码针对于此警告都会忽视不显示出来
 
//常见警告的名称
//1.声明变量未使用  "-Wunused-variable"
//2.方法定义未实现  "-Wincomplete-implementation"
//3.未声明的选择器  "-Wundeclared-selector"
//4.参数格式不匹配  "-Wformat"
//5.废弃掉的方法     "-Wdeprecated-declarations"
//6.不会执行的代码  "-Wunreachable-code"
//7.忽略在arc 环境下performSelector产生的 leaks 的警告 "-Warc-performSelector-leaks"
//8.忽略类别方法覆盖的警告 "-Wobjc-protocol-method-implementation"(修复开源库bug,覆盖开源库方法时会用到)
 
#pragma clang diagnostic pop

大范围忽略指定警告

不推荐,警告放开有利于及时查找问题,大范围忽略警告容易导致一些隐匿性的错误难以定位

可以在pch等具有大范围作用域的头文件中包含: 
#pragma clang diagnostic ignored "警告名称"
如果剔除了push与pop 则后面所有的代码都具有强制消除警告作用

添加警告

  • 普通警告
#warning TODO
  • 提示旧接口废除
- (void)addTapAction:(SEL)tapAction target:(id)target NS_DEPRECATED_IOS(2_0, 4_0);
  • 带信息的警告
- (void)addTapAction:(SEL)tapAction target:(id)target __attribute__((deprecated("这个接口已废弃,建议使用...代替")));

//系统提供了宏可以简单使用
- (void)addTapAction:(SEL)tapAction target:(id)target DEPRECATED_MSG_ATTRIBUTE("这个接口已废弃,建议使用...代替");

参考文章:
Xcode警告忽略
iOS警告收录及科学快速的消除方法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • -01- “姐,你是不是不喜欢我?” “傻弟弟,我最喜欢你了呀!” 安笙宠爱地笑看着莫西,奇怪他怎么问这么幼稚的问...
    盛夏之颂阅读 260评论 1 3
  • 昨日幸福小事:去早教中心遇到邻居,两个小朋友一起玩的好起劲,然后一起打车回家。 今日最重要的三件事: 1、搬工位,...
    菲凡爱成长阅读 109评论 0 0
  • 01 在错的时间遇到错的人,是无奈。 那是在初中的时候,有个哥们,在同龄人中属于比较早熟的那一类,当我们还在偷偷看...
    壹想阅读 865评论 1 4
  • 连续听了几天科普节目。宇宙观、世界观没有太大的进步。反而对罗胖的说法:科学是冷漠、粗暴、傲慢的,有了更切身的体会。...
    大城山主阅读 421评论 0 0
  • 越是陪伴,越是情深,愈是勇敢,愈是胆怯。 _题记 故事开始于好几年之前,具体时间,忘...
    物逍阅读 458评论 0 0