美文网首页
iOS 开发常用宏(1)

iOS 开发常用宏(1)

作者: 高产的白猫 | 来源:发表于2016-11-04 11:46 被阅读0次

    //字符串是否为空

    #define kStringIsEmpty(str) ([str isKindOfClass:[NSNull class]] || str == nil || [str length] < 1 ? YES : NO )

    //数组是否为空

    #define kArrayIsEmpty(array) (array == nil || [array isKindOfClass:[NSNull class]] || array.count == 0)

    //字典是否为空

    #define kDictIsEmpty(dic) (dic == nil || [dic isKindOfClass:[NSNull class]] || dic.allKeys == 0)

    //是否是空对象

    #define kObjectIsEmpty(_object) (_object == nil \

    ||[_objectisKindOfClass:[NSNullclass]]\

    ||([_objectrespondsToSelector:@selector(length)]&&[(NSData*)_objectlength]==0)\

    ||([_objectrespondsToSelector:@selector(count)]&&[(NSArray*)_objectcount]==0))

    //获取屏幕宽度与高度

    #define kScreenWidth \

    ([[UIScreenmainScreen]respondsToSelector:@selector(nativeBounds)]?[UIScreenmainScreen].nativeBounds.size.width/[UIScreenmainScreen].nativeScale:[UIScreenmainScreen].bounds.size.width)

    #define kScreenHeight \

    ([[UIScreenmainScreen]respondsToSelector:@selector(nativeBounds)]?[UIScreenmainScreen].nativeBounds.size.height/[UIScreenmainScreen].nativeScale:[UIScreenmainScreen].bounds.size.height)

    #define kScreenSize \

    ([[UIScreenmainScreen]respondsToSelector:@selector(nativeBounds)]?CGSizeMake([UIScreenmainScreen].nativeBounds.size.width/[UIScreenmainScreen].nativeScale,[UIScreenmainScreen].nativeBounds.size.height/[UIScreenmainScreen].nativeScale):[UIScreenmainScreen].bounds.size)

    //开发的时候打印,但是发布的时候不打印的NSLog

    #ifdef DEBUG

    #define NSLog(...) NSLog(@"%s 第%d行 \n %@\n\n",__func__,__LINE__,[NSString stringWithFormat:__VA_ARGS__])

    #else

    #define NSLog(...)

    #endif

    //弱引用/强引用

    #define kWeakSelf(type)   __weak typeof(type) weak##type = type;

    #define kStrongSelf(type) __strong typeof(type) type = weak##type;

    //颜色

    #define kRGBColor(r, g, b)     [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:1.0]

    #define kColorWithHex(rgbValue) \

    [UIColorcolorWithRed:((float)((rgbValue&0xFF0000)>>16))/255.0\

    green:((float)((rgbValue&0xFF00)>>8))/255.0\

    blue:((float)(rgbValue&0xFF))/255.0alpha:1.0]

    //获取沙盒Document路径

    #define kDocumentPath [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]

    //获取沙盒temp路径

    #define kTempPath NSTemporaryDirectory()

    //获取沙盒Cache路径

    #define kCachePath [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject]

    相关文章

      网友评论

          本文标题:iOS 开发常用宏(1)

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