iOS开发常用的宏
来源:互联网 发布:淘宝情趣女模特都有谁 编辑:程序博客网 时间:2024/05/18 15:52
- #define NavigationBar_HEIGHT 44
- #define SCREEN_WIDTH ([UIScreen mainScreen].bounds.size.width)
- #define SCREEN_HEIGHT ([UIScreen mainScreen].bounds.size.height)
- #define SAFE_RELEASE(x) [x release];x=nil
- #define IOS_VERSION [[[UIDevice currentDevice] systemVersion] floatValue]
- #define CurrentSystemVersion ([[UIDevice currentDevice] systemVersion])
- #define CurrentLanguage ([[NSLocale preferredLanguages] objectAtIndex:0])
- #define BACKGROUND_COLOR [UIColor colorWithRed:242.0/255.0 green:236.0/255.0 blue:231.0/255.0 alpha:1.0]
- //use dlog to print while in debug model
- #ifdef DEBUG
- # define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
- #else
- # define DLog(...)
- #endif
- #define isRetina ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 960), [[UIScreen mainScreen] currentMode].size) : NO)
- #define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)
- #define isPad (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
- #if TARGET_OS_IPHONE
- //iPhone Device
- #endif
- #if TARGET_IPHONE_SIMULATOR
- //iPhone Simulator
- #endif
- //ARC
- #if __has_feature(objc_arc)
- //compiling with ARC
- #else
- // compiling without ARC
- #endif
- //G-C-D
- #define BACK(block) dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), block)
- #define MAIN(block) dispatch_async(dispatch_get_main_queue(),block)
- #define USER_DEFAULT [NSUserDefaults standardUserDefaults]
- #define ImageNamed(_pointer) [UIImage imageNamed:[UIUtil imageName:_pointer]]
- #pragma mark - common functions
- #define RELEASE_SAFELY(__POINTER) { [__POINTER release]; __POINTER = nil; }
- #pragma mark - degrees/radian functions
- #define degreesToRadian(x) (M_PI * (x) / 180.0)
- #define radianToDegrees(radian) (radian*180.0)/(M_PI)
- #pragma mark - color functions
- #define RGBCOLOR(r,g,b) [UIColor colorWithRed:(r)/255.0f green:(g)/255.0f blue:(b)/255.0f alpha:1]
- #define RGBACOLOR(r,g,b,a) [UIColor colorWithRed:(r)/255.0f green:(g)/255.0f blue:(b)/255.0f alpha:(a)]
- #define ITTDEBUG
- #define ITTLOGLEVEL_INFO 10
- #define ITTLOGLEVEL_WARNING 3
- #define ITTLOGLEVEL_ERROR 1
- #ifndef ITTMAXLOGLEVEL
- #ifdef DEBUG
- #define ITTMAXLOGLEVEL ITTLOGLEVEL_INFO
- #else
- #define ITTMAXLOGLEVEL ITTLOGLEVEL_ERROR
- #endif
- #endif
- // The general purpose logger. This ignores logging levels.
- #ifdef ITTDEBUG
- #define ITTDPRINT(xx, ...) NSLog(@"%s(%d): " xx, __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
- #else
- #define ITTDPRINT(xx, ...) ((void)0)
- #endif
- // Prints the current method's name.
- #define ITTDPRINTMETHODNAME() ITTDPRINT(@"%s", __PRETTY_FUNCTION__)
- // Log-level based logging macros.
- #if ITTLOGLEVEL_ERROR <= ITTMAXLOGLEVEL
- #define ITTDERROR(xx, ...) ITTDPRINT(xx, ##__VA_ARGS__)
- #else
- #define ITTDERROR(xx, ...) ((void)0)
- #endif
- #if ITTLOGLEVEL_WARNING <= ITTMAXLOGLEVEL
- #define ITTDWARNING(xx, ...) ITTDPRINT(xx, ##__VA_ARGS__)
- #else
- #define ITTDWARNING(xx, ...) ((void)0)
- #endif
- #if ITTLOGLEVEL_INFO <= ITTMAXLOGLEVEL
- #define ITTDINFO(xx, ...) ITTDPRINT(xx, ##__VA_ARGS__)
- #else
- #define ITTDINFO(xx, ...) ((void)0)
- #endif
- #ifdef ITTDEBUG
- #define ITTDCONDITIONLOG(condition, xx, ...) { if ((condition)) { \
- ITTDPRINT(xx, ##__VA_ARGS__); \
- } \
- } ((void)0)
- #else
- #define ITTDCONDITIONLOG(condition, xx, ...) ((void)0)
- #endif
- #define ITTAssert(condition, ...) \
- do { \
- if (!(condition)) { \
- [[NSAssertionHandler currentHandler] \
- handleFailureInFunction:[NSString stringWithUTF8String:__PRETTY_FUNCTION__] \
- file:[NSString stringWithUTF8String:__FILE__] \
- lineNumber:__LINE__ \
- description:__VA_ARGS__]; \
- } \
- } while(0)
- #define _po(o) DLOG(@"%@", (o))
- #define _pn(o) DLOG(@"%d", (o))
- #define _pf(o) DLOG(@"%f", (o))
- #define _ps(o) DLOG(@"CGSize: {%.0f, %.0f}", (o).width, (o).height)
- #define _pr(o) DLOG(@"NSRect: {{%.0f, %.0f}, {%.0f, %.0f}}", (o).origin.x, (o).origin.x, (o).size.width, (o).size.height)
- #define DOBJ(obj) DLOG(@"%s: %@", #obj, [(obj) description])
- #define MARK NSLog(@"\nMARK: %s, %d", __PRETTY_FUNCTION__, __LINE__)
- #define LOADIMAGE(file,ext) [UIImage imageWithContentsOfFile:[[NSBundle mainBundle]pathForResource:file ofType:ext]]
- #define VIEWWITHTAG(_OBJECT, _TAG) [_OBJECT viewWithTag : _TAG]
- #define MyLocal(x, ...) NSLocalizedString(x, nil)
- // rgb颜色转换(16进制->10进制)
- #define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]
- #define alertContent(content) \
- UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" \
- message:content \
- delegate:nil \
- cancelButtonTitle:@"确定" \
- otherButtonTitles:nil]; \
- [alert show]; \
- [alert release];
- #if DEBUG
- #define NSLog(FORMAT, ...) fprintf(stderr,"\nfunction:%s line:%d content:%s\n", __FUNCTION__, __LINE__, [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
- #else
- #define NSLog(FORMAT, ...) nil
- #endif
- //清除背景色
- #define CLEARCOLOR [UIColor clearColor]
- //定义UIImage对象
- #define IMAGE(A) [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:A ofType:nil]]
- //带有RGBA的颜色设置
- #define COLOR(R, G, B, A) [UIColor colorWithRed:R/255.0 green:G/255.0 blue:B/255.0 alpha:A]
- //方正黑体简体字体定义
- #define FONT(F) [UIFont fontWithName:@"FZHTJW--GB1-0" size:F]
- //安全删除对象
- #define SAFE_DELETE(P) if(P) { [P release], P = nil; }
- //接口API
- #define APIURL @"http://xxxxx/"
- //登录
- #define APILogin [APIURL stringByAppendingString:@"Login"] //登录API
0 0
- iOS开发常用的宏
- ios开发常用的宏
- iOS开发常用的宏
- iOS开发常用的宏
- iOS开发常用的宏
- ios开发常用的宏
- ios开发常用的宏
- ios开发常用的宏
- ios开发常用的宏
- ios开发常用的宏
- ios开发常用的宏
- iOS开发常用的宏
- iOS开发-常用的宏
- iOS开发常用的宏
- iOS开发常用的宏
- iOS开发常用的宏
- iOS开发常用宏
- iOS开发常用宏
- 关系代数的基本运算
- ORACLE优化方案
- NSTimer与Run loop Modes
- 有些东西不能说的
- Spring MVC 3 深入总结
- iOS开发常用的宏
- nodejs使用kraken 搭建web工程
- COM学习笔记(九):包容
- MyBatis排序时使用order by 动态参数时需要注意,用$而不是# 用$传参时,直接将参数的值放在sql语句中,如:
- excel 单元格分列和合并
- 二维数组环形打印,亲自调试
- kettle的job中使用循环
- Linux 上多条对外连线(Multi-Path)实作------带宽负载平衡
- 扩展欧几里德算法