iOS 常用宏定义

作者: jianshu_wl | 来源:发表于2016-04-18 14:38 被阅读772次

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

    //屏幕宽、高
    #define SCREEN_WIDTH ([UIScreen mainScreen].bounds.size.width)
    #define SCREEN_HEIGHT ([UIScreen mainScreen].bounds.size.height)
    //1个像素的宽度
    #define SINGLE_LINE_WIDTH (1.0f/[UIScreen mainScreen].scale)
    //系统版本
    #define IOS_VERSION [[[UIDevice currentDevice] systemVersion] floatValue]
    //图片
    #define ImageWithName(A) [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:A ofType:nil]]
    //rgb颜色(十进制)
    #define UIColorFromRGBA(r,g,b,a) [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b/255.0f alpha:a]
    //rgb颜色(十六进制)
    #define UIColorFromHexValue(HexValue) [UIColor colorWithRed:((float)((HexValue & 0xFF0000) >> 16))/255.0 green:((float)((HexValue & 0xFF00) >> 8))/255.0 blue:((float)(HexValue & 0xFF))/255.0 alpha:1.0]
    //将对象转换成弱引用类型,有block时使用
    #define WeakObj(obj) __block __weak typeof(obj) weak_##obj = obj
    //document目录
    #define DOCUMENT NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).lastObject
    
    //DEBUG模式下,打印日志(包括函数名、行号)
    #ifdef DEBUG
    # define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
    #else
    # define DLog(...)
    #endif
    

    像这些宏定义,在工程中全局都需要经常使用,我们可以把它放入工程中的PrefixHeader.pch文件中.具体步骤如下:

    1. 新建PrefixHeader.pch文件,如图:
    2. PrefixHeader.pch中添加我们需要使用的宏定义,如图:
    3. 在 Prefix Header 设置路径, 具体位置在 TARGET ->Build Settings -> Prefix Header 中,如图:


    这样我们的 pch 文件就添加完成了, 工程中全局就可以使用这些宏定义了.

    相关文章

      网友评论

        本文标题:iOS 常用宏定义

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