美文网首页
iOS常用的宏定义

iOS常用的宏定义

作者: 咔咔尼亜 | 来源:发表于2018-09-07 14:36 被阅读13次
  1. NSLog宏

#define NSLog(format, ...) do { \

fprintf(stderr," %s\n", \[[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String], \

__LINE__, __func__); \

(NSLog)((format), ##__VA_ARGS__); \

fprintf(stderr, "-------\n"); \

} while (0)

  1. 打印方法名

#define ZZDPRINTMETHODNAME() ZZDPRINT(@"%s", __PRETTY_FUNCTION__)

  1. Debug

#ifdef ZZDEBUG

#define ZZDCONDITIONLOG(condition, xx, ...) { if ((condition)) { \

ITTDPRINT(xx, ##__VA_ARGS__); \

} \

} ((void)0)

#else

#define ZZDCONDITIONLOG(condition, xx, ...) ((void)0)

#endif

  1. 错误抛出

#define DgAssert(condition, ...)\

do {\

if (!(condition)) {\

[[NSAssertionHandler currentHandler]\

handleFailureInFunction:[NSString stringWithUTF8String:__PRETTY_FUNCTION__] \

file:[NSString stringWithUTF8String:__FILE__]\

lineNumber:__LINE__\

description:__VA_ARGS__];\

}\

} while(0)

  1. 测试方法或代码执行时间

#define TICK  NSDate *startTime = [NSDate date]

#define TOCK  NSLog(@"Time: %f", [startTime timeIntervalSinceNow])

  1. 定义编译环境

#ifndef __OPTIMIZE__
//这里执行的是debug模式下
else
//这里执行的是release模式下
#endif


//都注释为UAT环境
#define SERVER_PRODUCT_SWITCH // 生成地址 放开为生产地址
#define TEST_SERVER_SWITCH // 测试地址  放开为测试地址


#ifdef SERVER_PRODUCT_SWITCH     //——线上地址
//define something
//MARK: 测试地址
#elif defined TEST_SERVER_SWITCH
//define something
//MARK: UAT
#else // UAT
//define something
#endif

  1. 模拟器或真机判断

#if defined (__i386__) || defined (__x86_64__)

//模拟器下执行

#else

//真机下执行

#endif

  1. RGB颜色

#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)]


  1. 角度弧度互换

#define degreesToRadian(x) (M_PI * (x) / 180.0)

#define radianToDegrees(radian) (radian*180.0)/(M_PI)

  1. 字符串操作

#define IS_STRING_NOT_EMPTY(sting)(sting && ![@"" isEqualToString:sting] && (NSNull *)sting!=[NSNull null])

#define IS_STRING_EMPTY(sting)(!sting || [@"" isEqualToString:sting] || (NSNull *)sting==[NSNull null])

#define SAFE_STRING(x)(IS_STRING_EMPTY(x))?(@""):(x)

  1. 随机数

#define RANDOM_SEED() srandom(time(NULL))

#define RANDOM_INT(__MIN__, __MAX__) ((__MIN__) + random() % ((__MAX__+1) - (__MIN__)))

相关文章

  • iOS常用宏定义

    打印日志的几种写法 推荐文章iOS 日常工作之常用宏定义大全iOS常用宏定义 结束语 到这里就结束了,如若不懂的话...

  • iOS-常用宏定义

    [转自:iOS常用宏定义][http://www.cocoachina.com/ios/20161207/1831...

  • iOS 常用宏定义

    iOS 开发中使用一些常用宏定义可以大大提高开发效率,提高代码的重用性.以下是一些常用的宏定义: 像这些宏定义,在...

  • IOS NSLog宏定义

    IOS NSLog宏定义 标签(空格分隔): IOS IOS NSLog宏定义 宏定义NSLog方法,不用加";"...

  • iOS常用宏定义

    1.UI元素 //NavBar高度#defineNAVIGATIONBAR_HEIGHT 44//StatusBa...

  • iOS常用宏定义

    字符串是否为空 #define kStringIsEmpty(str) ([str isKindOfClass:[...

  • iOS常用宏定义

    字符串是否为空 数组是否为空 字典是否为空 是否是空对象 获取屏幕宽度与高度 ( " \ ":连接行标志,连接上下...

  • iOS常用宏定义

  • iOS常用宏定义

    #ifndef MacroDefinition_h #define MacroDefinition_h //---...

  • iOS常用宏定义

    整理 //常用宏定义 //是否为V以上系统 #define IOS(V) [[[UIDevice currentD...

网友评论

      本文标题:iOS常用的宏定义

      本文链接:https://www.haomeiwen.com/subject/ucjcgftx.html