预定义,条件编译,数组



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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值