宏定义是什么意思,宏定义怎么用
#定义导航栏_高度44
# define SCREEN _ WIDTH(【ui屏幕主屏】)。界限。尺寸。宽度)
#定义SCREEN _ HEIGHT(【ui屏幕主屏】)。界限。尺寸。高度)
# define SAFE _ RELEASE(x)[x RELEASE];x=零
#定义IOS_VERSION [[[UIDevice当前设备]系统版本]浮动值]
#定义当前系统版本([[ui设备当前设备]系统版本])
#定义当前语言([[NSLocale首选语言]objectAtIndex:0])
# define BACKGROUND _ COLOR[ui COLOR颜色红色:242.0/255.0绿色:236.0/255.0蓝色:231.0/255.0 alpha:1.0]
//在调试模式下使用网络日志本进行打印
#ifdef调试
#定义DLog(fmt,)NSLog((@%s [Line %d] fmt),__PRETTY_FUNCTION__,__LINE__,# _ _ VA _ ARGS _ _);
#否则
#定义DLog(.)
#endif
# define是retina([ui screen instancesRespondToSelector:@ selector(当前模式)]?CGSizeEqualToSize(CGSizeMake(640,960),[[ui屏幕主屏]当前模式]).尺寸) :否)
#定义iphone 5([ui屏幕实例响应选择器:@选择器(当前模式)]?CGSizeEqualToSize(CGSizeMake(640,1136),[[ui屏幕主屏]当前模式]).尺寸) :否)
# define isPad(UI _ USER _ INTERFACE _ IDIOM()==uiuserinfaceidiompad)
#if TARGET_OS_IPHONE
//iPhone设备
#endif
#如果目标_ IPHONE _模拟器
//iPhone模拟器
#endif
//弧形
#如果_ _具有_特征(对象_弧)
//用农业研究委员会编译
#否则
//无弧编译
#endif
//G-C-D
# define BACK(block)DISPATCH _ async(DISPATCH _ get _ global _ QUEUE(DISPATCH _ QUEUE _ PRIORITY _ DEFAULT,0),块)
# define MAIN(block)dispatch _ async(dispatch _ get _ MAIN _ queue(),block)
# define USER _ DEFAULT[nsuser defaults standardUserDefaults]
#定义名为(_ pointer)的图像[名为:[ui util imageName:_ pointer]的ui图像图像]
#杂注标记-常用函数
# define RELEASE _ SAFELY(_ _ POINTER){[_ _ POINTER RELEASE];_ _指针=nil}
#杂注标记-度数/弧度函数
#定义度数弧度(x) (M_PI * (x)/180.0)
#定义辐射度(弧度)(弧度*180.0)/(M_PI)
#杂注标记-颜色函数
#定义RGBCOLOR(r,g,b)[ui color颜色颜色有红色:(r)/255.0 f绿色:(g)/255.0 f蓝色:(b)/255.0 f alpha:1]
#定义RGBACOLOR(r,g,b,a)[ui颜色颜色用红色:(r)/255.0 f绿色:(g)/255.0 f蓝色:(b)/255.0 f alpha:(a)]
#定义ITTDEBUG
#定义ITTLOGLEVEL_INFO 10
#define ITTLOGLEVEL_WARNING 3
#定义ITTLOGLEVEL_ERROR 1
#ifndef ITTMAXLOGLEVEL
#ifdef调试
# define ITTMAXLOGLEVEL ITTLOGLEVEL _ INFO
#否则
# define ITTMAXLOGLEVEL ITTLOGLEVEL _ ERROR
#endif
#endif
//通用记录器。这忽略了日志记录级别。
#ifdef ITTDEBUG
#定义ITTDPRINT(xx,)NSLog(@%s(%d): xx,__PRETTY_FUNCTION__,__LINE__,#__VA_ARGS__)
#否则
#定义ITTDPRINT(xx,)((void)0)
#endif
//打印当前方法的名称。
# define ITTDPRINTMETHODNAME()ittd print(@ % s ,__PRETTY_FUNCTION__)
//基于日志级别的日志宏。
# if ITTLOGLEVEL _ ERROR=ITTMAXLOGLEVEL
#定义ITTDERROR(xx,)ITTDPRINT(xx,##__VA_ARGS__)
#否则
#定义ITTDERROR(xx,)((void)0)
#endif
# if ITTLOGLEVEL _ WARNING=ITTMAXLOGLEVEL
#定义它相形见绌(xx,)ITTDPRINT(xx,##__VA_ARGS__)
#否则
#定义它相形见绌(xx,)((void)0)
#endif
# if ITTLOGLEVEL _ INFO=ITTMAXLOGLEVEL
#定义ITTDINFO(xx,)ITTDPRINT(xx,##__VA_ARGS__)
#否则
#定义ITTDINFO(xx,)((void)0)
#endif
#ifdef ITTDEBUG
#定义ITTDCONDITIONLOG(条件,xx,){如果((条件)){
ITTDPRINT(xx,# # _ _ VA _ ARGS _ _);
}
} ((void)0)
#否则
#定义ITTDCONDITIONLOG(条件,xx,)((void)0)
#endif
#定义ITTAssert(条件、)
做{
如果(!(条件)){
[[nsassessionhandler当前处理程序]
handleFailureInFunction:[ns string string with utf 8 string:_ _ PRETTY _ FUNCTION _ _]
文件:[ns字符串和utf8字符串:_ _ FILE _ _]
行号:__LINE__
描述:_ _ VA _ ARGS _ _];
}
} while(0)
#define LOADIMAGE(file,ext)[ui image imageWithContentsOfFile:[[ns bundle main bundle]资源路径:文件类型:ext]]
读取本地图片和imageNamed一样,但是性能要比后者好很多。有两个参数,前者是文件名,后者是类型。
例如imageview . image=LOADIMAGE(@ filename ,@ png );
#定义宽度[[UIScreen mainScreen]边界].size.width
#定义高度[[UIScreen主屏幕]边界].size.height
# define viewithtag(_ OBJECT,_ TAG)[_ OBJECT viewithtag:_ TAG]
#定义MyLocal(x,)NSLocalizedString(x,nil)
这样,就不需要填写默认参数了。对于需要重复使用的方法更方便。
例如,MyLocal(@0094 )替换NSLocalizedString(@0094 ,nil)。
#define LOADIMAGE(file,ext)[ui image imageWithContentsOfFile:[[ns bundle main bundle]path for resource:file of type:ext]]
读取本地图片和imageNamed一样,但是性能要比后者好很多。有两个参数,前者是文件名,后者是类型。
例如imageview . image=LOADIMAGE(@ filename ,@ png );
当资源不紧张时,这是一种负担,因为没有缓存。
Imagenamed刚说要缓存,手动清空不了。缓存的好坏只能自己判断。
//rgb颜色转换(十六进制-十进制)
# define UIColorFromRGB(RGB value)[ui color colorWithRed:((float)((RGB value0x ff 0000)16))/255.0 green:((float)((RGB value0x ff 00)8))/255.0 blue:((float)(RGB value0x ff))/255.0 alpha:1.0]