iOS开发常用宏(网友搜集)
#define LOADIMAGE(file,ext) [UIImage imageWithContentsOfFile:[[NSBundle mainBundle]pathForResource:file ofType:ext]]
例如:imageView.image = LOADIMAGE(@"文件名",@"png");
#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]//ios系统版本
#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]//背景颜色
#define isRetina ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 960), [[UIScreen mainScreen] currentMode].size) : NO)//判断是否是retina屏
#define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)//判断是否是iphone5
#define isPad (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)//判断是否是ipad;#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]//用户默认信息 #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__)
浙公网安备 33010602011771号