预处理程序
预处理程序语句使用#开头,一行中的第一个非空字符。
大部分内容都与C语言类似,相当于复习啦。
12.1 #define语句 - 宏
- 预定义不是变量。不能为它赋值。实际上是字符的简单替换。
- #define语句常放在#import或#include语句后边。
- 定义一个名称后,可以在任何地方使用。一般放在头文件,方便在多个源文件中使用。
- 所有预定义的名称常都使用大写。
- 预定义的值本身可以引用其它预定义的值。
- 可以把if判断语句放在预定义中,方便理解。
- 注意在使用括号,确保替换时的正确性。
12.2 import语句
- 预处理程序在系统中寻找指定的文件,并且有效地把文件的内容复制到程序出现#import语句的确切位置。
- 使用<>时,会在特殊的系统头文件目录中寻找包含文件,当前目录不会被搜索,可以使用Xcode修改。
- 使用”“时,会指示预处理程序在一个或者多个文件目录(通常,首先在包含源文件的目录中查找,但是通过修改适当的“项目设置”,可以用Xcode指定预处理程序搜索的确切位置)中寻找指定的文件。
- #import UIKit; 是导入一个模块。
12.3 条件编译
- #ifdef, #else ,#endif. #ifndef; 防止头文件多次引用,常用。
- 通过 #define IPAD 1 或者 #define IPAD就可以达到定义了的目标。
- 也可以在编译选项中添加-D IPAD来达到目标。(这个选项要在程序名称之前输入)
- #if A > B | #else | #endif
- #ifdef 等同于 #if defined (A) | #ifndf 等同于 #if !defined(A)
- 常用的#if defined(A) && A
- #if 0 … #endif,用来注释代码段非常方便。
- #undef IPAD, 这之后IPAD就进入了未定义状态。