iOS宏定义

作者: Job_Yang | 来源:发表于2015-11-12 14:00 被阅读962次

1. 宏定义简介

宏定义是使用#define将某段代码、字符串等一串的文字,用一个宏来代替的一种预处理方式。

2. 为什么要使用宏定义

宏定义在很多方面都会使用,例如定义高度、判断iOS系统、判断机型、工具类,还有诸如文件路径、服务端api接口文档。为了对宏能够快速定位和了解其功能,我们最好在定义的时候将其放入特定的头文件中,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,又能减少系统开销。

3. 预处理命令简介

 #define:             定义一个预处理宏

 #undef:              取消宏的定义

 #include:            包含文件命令

 #include_next:       与#include相似, 但它有着特殊的用途

 #if:                 编译预处理中的条件命令, 相当于C语法中的if语句

 #ifdef:              判断某个宏是否被定义, 若已定义, 执行随后的语句

 #ifndef:             与#ifdef相反, 判断某个宏是否未被定义

 #elif:               若#if, #ifdef, #ifndef或前面的#elif条件不满足, 则执行#elif之后的语句, 相当于C语法中的else-if

 #else:               与#if, #ifdef, #ifndef对应, 若这些条件不满足, 则执行#else之后的语句, 相当于C语法中的else

 #endif:              #if, #ifdef, #ifndef这些条件命令的结束标志.

 defined:             与#if, #elif配合使用, 判断某个宏是否被定义

 #line:                标志该语句所在的行号

 #:                    将宏参数替代为以参数值为内容的字符窜常量

 ##:                   将两个相邻的标记(token)连接为一个单独的标记

 #pragma:              说明编译器信息

 #warning               显示编译警告信息

 #error:               显示编译错误信息

4. 宏定义分类

大致分为无参数宏定义与有参数的宏定义:

  • 无参数宏定义:
    //定义π
    #define M_PI 3.14159265358979323846264338327950288

  • 有参数宏定义:
    // 获取RGB颜色
    #define RGBA(r,g,b,a) [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b/255.0f alpha:a]

相关文章

  • IOS NSLog宏定义

    IOS NSLog宏定义 标签(空格分隔): IOS IOS NSLog宏定义 宏定义NSLog方法,不用加";"...

  • iOS 宏定义

    初学ios不久时间,对ios的宏定义充满好奇,宏的各种高级用法让ios代码变得优雅,那么宏究竟是什么,让我来花时间...

  • iOS 宏定义

    debug时打印,下面一句是解决xcode8打印不全的问题; 屏幕宽高,或者比例 NSUserDefaults 存...

  • iOS 宏定义

    ///屏幕宽度 #define KSCREENWIDTH [UIScreen mainScreen].bounds...

  • iOS宏定义

    1 weakself和strongself #ifndef weakify #if DEBUG #ifhas_fe...

  • iOS宏定义

    1. 宏定义简介 宏定义是使用#define将某段代码、字符串等一串的文字,用一个宏来代替的一种预处理方式。 2....

  • iOS 宏定义

  • iOS-常用宏定义

    [转自:iOS常用宏定义][http://www.cocoachina.com/ios/20161207/1831...

  • iOS常用宏定义

    打印日志的几种写法 推荐文章iOS 日常工作之常用宏定义大全iOS常用宏定义 结束语 到这里就结束了,如若不懂的话...

  • iOS之宏定义

    iOS开发小技巧之--WeakSelf宏的进化 宏定义不是C语句,也无须使用分号结束 宏定义并不是变量,它甚至不是...

网友评论

    本文标题:iOS宏定义

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