#pragma

作者: 指尖弹灰 | 来源:发表于2017-02-22 05:00 被阅读0次

开门见山

pragam 声明在Xcode中主要起两个作用:整理代码和处理编译器警告

整理代码

我们经常通过 #pragam mark - 来将代码分割成逻辑区块。这将使得代码整洁,干净。同时也易于我们阅读和查找。

处理编译器警告

黄色,到处都是黄色的警告,努力消除警告。但是某个警告又没法避免,那我能不能让它不提示警告呢?这时,用来抑制编译器警告的 #pragma 就派上用场了:

它的格式是什么呢?

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-相关命令"
// 程序段
#pragma clang diagnostic pop

常见的用法

1.消除方法弃用警告

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
    if (self.activityIndicatorColor) {
        color = self.activityIndicatorColor;
    }
#pragma clang diagnostic pop

// 这是引用的第三方库HUD的一段代码。不用 #pragma 就会警告 activityIndicatorColor 过期。

2.消除指针类型不兼容警告

#pragma clang diagnostic push   
#pragma clang diagnostic ignored "-Wincompatible-pointer-types"  
// 要消除警告的程序段
#pragma clang diagnostic pop

3.消除循环引用警告

#pragma clang diagnostic push  
#pragma clang diagnostic ignored "-Warc-retain-cycles" 
// 要消除警告的程序段
#pragma clang diagnostic pop

4.消除变量未使用警告

#pragma clang diagnostic push   
#pragma clang diagnostic ignored "-Wunused-variable"  
// 要消除警告的程序段
#pragma clang diagnostic pop

更多的相关命令

http://fuckingclangwarnings.com

心情

一日之计在于晨

相关文章

  • 24_#pragma使用分析【重点】

    关键词:#pragma简介、#pragma message、#pragma one、 内存对齐、#pragma p...

  • C语言day05-10递归练习02

    pragma mark 递归练习02 pragma mark 概念 pragma mark 代码 pragma m...

  • #pragma

    1.注释 消除编译警告 各种警告

  • #pragma

    #pragma声明主要由Xcode用来完成两个主要任务——整理代码和防止编译器警告。 整理代码 代码的整洁程度反映...

  • #pragma

    整理代码 在 @implementation 中使用 #pragma mark 来将代码分割成逻辑区块。Xcode...

  • Pragma

    在做注释特别是分段注释时,经常会用到 #pargam mark-但#pargma 另一个强大功能就是处理编译器警...

  • #pragma

    开门见山 pragam 声明在Xcode中主要起两个作用:整理代码和处理编译器警告 整理代码 我们经常通过 #pr...

  • C语言day06-12类型说明符

    pragma mark 类型说明符 pragma mark 概念 pragma mark 代码 #pragma m...

  • C语言day04-13for循环

    pragma mark for循环 pragma mark 概念 pragma mark 代码

  • OC语言day08-11NSNumber

    pragma mark NSNumber pragma mark 概念 pragma mark 代码

网友评论

      本文标题:#pragma

      本文链接:https://www.haomeiwen.com/subject/hzepwttx.html