美文网首页
iOS开发中常用的宏

iOS开发中常用的宏

作者: 柴家二少001 | 来源:发表于2016-10-29 00:27 被阅读17次

    /**

    在Release版本禁止输出NSLog内容

    因为NSLog的输出还是比较消耗系统资源的,而且输出的数据也可能会暴露出App里的保密数据,所以发布正式版时需要把这些输出全部屏蔽掉。

    我们可以在发布版本前先把所有NSLog语句注释掉,等以后要调试时,再取消这些注释,这实在是一件无趣而耗时的事!还好,还有更优雅的解决方法,就是在项目的prefix.pch文件里加入下面一段代码,加入后,NSLog就只在Debug下有输出,Release下不输出了。

    */

    #ifndef __OPTIMIZE__

    #define NSLog(...) NSLog(__VA_ARGS__)

    #else

    #define NSLog(...) {}

    #endif

    #define __MainScreenFrame [[UIScreen mainScreen] bounds]

    //设备屏幕宽

    #define __MainScreen_Width ((__MainScreenFrame.size.width)<(__MainScreenFrame.size.height)?(__MainScreenFrame.size.width):(__MainScreenFrame.size.height))

    #define __MainScreen_Height ((__MainScreenFrame.size.height)>(__MainScreenFrame.size.width)?(__MainScreenFrame.size.height):(__MainScreenFrame.size.width))

    #define iPhone4 (CGSizeEqualToSize(CGSizeMake(320, 480), CGSizeMake(__MainScreen_Width, __MainScreen_Height)))

    #define iPhone5 (CGSizeEqualToSize(CGSizeMake(320, 568), CGSizeMake(__MainScreen_Width, __MainScreen_Height)))

    #define iPhone6 (CGSizeEqualToSize(CGSizeMake(375, 667), CGSizeMake(__MainScreen_Width, __MainScreen_Height)))

    #define iPhone6plus (CGSizeEqualToSize(CGSizeMake(414, 736), CGSizeMake(__MainScreen_Width, __MainScreen_Height)))

    //版本号

    #define kCurrentSystemVersion ((CGFloat)[[[UIDevice currentDevice] systemVersion] floatValue])

    //获取当前语言

    #define kCurrentLanguage ([[NSLocale preferredLanguages] objectAtIndex:0])

    //快速的查看一段代码的执行时间

    //使用方法:在想要查看执行时间的代码的地方进行这么处理

    //Any parameter:是为了区分startTime的参数名称的变化 以##来拼接

    /*

    *  TICK(Any parameter)

    *  //do your work here

    *  TOCK(Any parameter)

    */

    #ifndef __OPTIMIZE__

    #define TICK(timeName)  NSDate *startTime##timeName = [NSDate date];

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

    #else

    #define TICK(timeName)

    #define TOCK(timeName)

    #endif

    相关文章

      网友评论

          本文标题:iOS开发中常用的宏

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