预定义,条件编译,数组
2012-10-10 23:39
267 查看
1. 预定义:#define
在object-c中,跟C语言一样都是采用#define才使用,但末尾是没有分号的;
例子:
#define PI 3.14
在之后即可引用。
2. 条件编译:#ifdef,#end,#elseif
#ifdef,#else,#endif如我们常识认为的那样,程序会根据判断条件处理或者忽略某一个程序段。
例子:
#ifdef MAC_OS_X
# define DATADIR “/uxnl/data”
#else
# define DATADIR “\usr\data”
#endif
3. 数组
在object-c中,C语言的数组格式初始化和引用都能够用,但在object-c中不提倡使用。
#define isRetina CGSizeEqualToSize(CGSizeMake(640, 960), [[UIScreen mainScreen] currentMode].size)
上边这个不严密,在iOS3.2之前的设备上会造成Crash,用下边这个:
#define isRetina ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 960), [[UIScreen mainScreen] currentMode].size) : NO)
// 是否高清屏
#define isRetina ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 960), [[UIScreen mainScreen] currentMode].size) : NO)
// 是否iPad
#define isPad (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
// 是否模拟器
#define isSimulator (NSNotFound != [[[UIDevice currentDevice] model] rangeOfString:@"Simulator"].location)
在object-c中,跟C语言一样都是采用#define才使用,但末尾是没有分号的;
例子:
#define PI 3.14
在之后即可引用。
2. 条件编译:#ifdef,#end,#elseif
#ifdef,#else,#endif如我们常识认为的那样,程序会根据判断条件处理或者忽略某一个程序段。
例子:
#ifdef MAC_OS_X
# define DATADIR “/uxnl/data”
#else
# define DATADIR “\usr\data”
#endif
3. 数组
在object-c中,C语言的数组格式初始化和引用都能够用,但在object-c中不提倡使用。
#define isRetina CGSizeEqualToSize(CGSizeMake(640, 960), [[UIScreen mainScreen] currentMode].size)
上边这个不严密,在iOS3.2之前的设备上会造成Crash,用下边这个:
#define isRetina ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 960), [[UIScreen mainScreen] currentMode].size) : NO)
// 是否高清屏
#define isRetina ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 960), [[UIScreen mainScreen] currentMode].size) : NO)
// 是否iPad
#define isPad (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
// 是否模拟器
#define isSimulator (NSNotFound != [[[UIDevice currentDevice] model] rangeOfString:@"Simulator"].location)
相关文章推荐
- Object-c:预定义,条件编译,数组
- 【Object-c基础】Object-c基础之四:预定义,条件编译,数组
- 【Object-c基础】Object-c基础之四:预定义,条件编译,数组
- Object-c基础之四:预定义,条件编译,数组
- 【Object-c基础】预定义,条件编译,数组
- Object-c基础之四:预定义,条件编译,数组
- 我并没有定义CODE_ANALYSIS编译符号,为什么基于此符号条件编译的类、特性、语句仍在?
- Delphi 的编译指令(3): 常用的预定义条件标识符
- qt的关于编译条件的一些定义问题
- Delphi 的编译指令(3): 常用的预定义条件标识符
- DELPHI定义的条件编译的全部说明
- 宏定义来实现条件编译(#define #undef #ifdef)
- Delphi 的编译指令(3): 常用的预定义条件标识符
- 如何判断平台工具集去做条件编译(VC++目录、预处理器定义、$(PlatformToolsetVersion))
- Java 在cmd中无法编译数组中定义的中文字符
- 如何判断平台工具集去做条件编译(VC++目录、预处理器定义、$(PlatformToolsetVersion))
- Delphi 的编译指令(3): 常用的预定义条件标识符
- c笔记09---字符数组及字符串,预处理,宏,条件编译
- DELPHI定义的条件编译的全部说明
- c#定义全局条件编译符号