美文网首页
iOS中常见的一些宏

iOS中常见的一些宏

作者: 酱油之神 | 来源:发表于2016-09-29 10:44 被阅读19次

    1.处理NSLog事件(开发者模式打印,发布者模式不打印)

    #ifdef DEBUG
    #define NSLog(FORMAT, ...) fprintf(stderr,"%s:%d\t%s\n",[[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String], __LINE__, [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
    #else
    #define NSLog(FORMAT, ...) nil
    #endif
    
    #ifdef DEBUG
    #define NSLog(fmt, ...) NSLog((@"||方法名:%s || [行数:%d] || " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
    #else
    #define NSLog(...)
    #endif
    

    2.在OC语言的情况下导入某些头文件

     #ifdef __OBJC__
     //导入头文件
     #endif
    

    3.处理循环引用问题(处理当前类对象)

    #define WS(weakSelf)  __weak __typeof(&*self)weakSelf = self;
    

    4.设置颜色RGB值

     #define RGB(a,b,c) [UIColor colorWithRed:(a/255.0) green:(b/255.0) blue:(c/255.0) alpha:1.0]
    

    5.设置颜色RGB值+透明度

     #define RGBA(a,b,c,d) [UIColor colorWithRed:(a/255.0) green:(b/255.0) blue:(c/255.0) alpha:d]
    

    6.设置随机色
    #define LRRandomColor [UIColor colorWithRed:arc4random_uniform(256)/255.0 green:arc4random_uniform(256)/255.0 blue:arc4random_uniform(256)/255.0 alpha:1.0]

    7.设置view的圆角边框

    #define LRViewBorderRadius(View, Radius, Width, Color)\\
    [View.layer setCornerRadius:(Radius)];\
    [View.layer setMasksToBounds:YES];\
    [View.layer setBorderWidth:(Width)];\
    [View.layer setBorderColor:[Color CGColor]]
    

    相关文章

      网友评论

          本文标题:iOS中常见的一些宏

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