zoukankan      html  css  js  c++  java
  • iOS开发常用宏

    01
    02
    03
    04
    05
    06
    07
    08
    09
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    //字符串是否为空
    #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 || [_object isKindOfClass:[NSNull class]] || ([_object respondsToSelector:@selector(length)] && [(NSData *)_object length] == 0) || ([_object respondsToSelector:@selector(count)] && [(NSArray *)_object count] == 0))
     
    //获取屏幕宽度与高度
    #define kScreenWidth ([[UIScreen mainScreen] respondsToSelector:@selector(nativeBounds)] ? [UIScreen mainScreen].nativeBounds.size.width/[UIScreen mainScreen].nativeScale : [UIScreen mainScreen].bounds.size.width)
    #define kScreenHeight ([[UIScreen mainScreen] respondsToSelector:@selector(nativeBounds)] ? [UIScreen mainScreen].nativeBounds.size.height/[UIScreen mainScreen].nativeScale : [UIScreen mainScreen].bounds.size.height)
    #define kScreenSize ([[UIScreen mainScreen] respondsToSelector:@selector(nativeBounds)] ? CGSizeMake([UIScreen mainScreen].nativeBounds.size.width/[UIScreen mainScreen].nativeScale,[UIScreen mainScreen].nativeBounds.size.height/[UIScreen mainScreen].nativeScale) : [UIScreen mainScreen].bounds.size)
     
    //一些缩写
    #define kApplication        [UIApplication sharedApplication]
    #define kKeyWindow          [UIApplication sharedApplication].keyWindow#define kAppDelegate        [UIApplication sharedApplication].delegate
    #define kUserDefaults      
    [NSUserDefaults standardUserDefaults]
    #define kNotificationCenter
    [NSNotificationCenter defaultCenter]
     
    //APP版本号
    #define kAppVersion [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]
     
    //系统版本号
    #define kSystemVersion [[UIDevice currentDevice] systemVersion]
     
    //获取当前语言
    #define kCurrentLanguage ([[NSLocale preferredLanguages] objectAtIndex:0])
     
    //判断是否为iPhone
    #define kISiPhone (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
     
    //判断是否为iPad
    #define kISiPad (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
     
    //获取沙盒Document路径
    #define kDocumentPath [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]
     
    //获取沙盒temp路径
    #define kTempPath NSTemporaryDirectory()
     
    //获取沙盒Cache路径
    #define kCachePath [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject]
     
    //判断是真机还是模拟器
    #if TARGET_OS_IPHONE//真机
    #endif
    #if TARGET_IPHONE_SIMULATOR
    //模拟器
    #endif
     
    //开发的时候打印,但是发布的时候不打印的
    NSLog
    #ifdef DEBUG
    #define NSLog(...) NSLog(@"%s 第%d行 %@ ",__func__,__LINE__,[NSString stringWithFormat:__VA_ARGS__])
    #else
    #define
    NSLog(...)
    #endif
     
    //颜色
    #define kRGBColor(r, g, b)     [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:1.0]
    #define kRGBAColor(r, g, b, a) [UIColor colorWithRed:(r)/255.0 green:(r)/255.0 blue:(r)/255.0 alpha:a]
    #define kRandomColor  KRGBColor(arc4random_uniform(256)/255.0,arc4random_uniform(256)/255.0,arc4random_uniform(256)/255.0)
    #define kColorWithHex(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16)) / 255.0 green:((float)((rgbValue & 0xFF00) >> 8)) / 255.0 lue:((float)(rgbValue & 0xFF)) / 255.0 alpha:1.0]
     
    //弱引用/强引用
    #define kWeakSelf(type)   __weak typeof(type) weak##type = type;
    #define kStrongSelf(type) __strong typeof(type) type = weak##type;
     
    //由角度转换弧度
    #define kDegreesToRadian(x)      (M_PI * (x) / 180.0)
     
    //由弧度转换角度
    #define kRadianToDegrees(radian) (radian * 180.0) / (M_PI)
     
    //获取一段时间间隔
    #define kStartTime CFAbsoluteTime start = CFAbsoluteTimeGetCurrent();
    #define kEndTime   NSLog(@"Time: %f", CFAbsoluteTimeGetCurrent() - start)
  • 相关阅读:
    Vim怎么批量处理文件将tab变为space
    猫狗模型代码
    googLeNet网络
    Alex网络
    搭建FTP服务器
    除非Microsoft FTP 服务(FTPSVC)正在运行,否则无法启动FTP站点。服务目前已停止
    FTP文件夹打开错误,Windows无法访问此文件夹
    win7系统中ftp服务器搭建方法(多图)
    windows server 2008服务器IIS绑定阿里云域名
    URL Routing
  • 原文地址:https://www.cnblogs.com/-ios/p/5833568.html
Copyright © 2011-2022 走看看