zoukankan      html  css  js  c++  java
  • 转:ios开发常用的宏

    收集起来,丢到一个头文件中,这样开发起来就快多啦!我先分享一些,大家可以拿出自己私藏的,盖楼,吼吼~
    各种收集,网络,自己写的,别人写的都有,纯学习用,如有冒犯,请不要找我麻烦哈~


    1
    2
    3
    4
    5
    6
    7
    8
    9
    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
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    #define NavigationBar_HEIGHT 44
     
    #define SCREEN_WIDTH ([UIScreen mainScreen].bounds.size.width)
    #define SCREEN_HEIGHT ([UIScreen mainScreen].bounds.size.height)
    #define SAFE_RELEASE(x) [x release];x=nil
    #define IOS_VERSION [[[UIDevice currentDevice] systemVersion] floatValue]
    #define CurrentSystemVersion ([[UIDevice currentDevice] systemVersion])  
    #define CurrentLanguage ([[NSLocale preferredLanguages] objectAtIndex:0])
     
    #define BACKGROUND_COLOR [UIColor colorWithRed:242.0/255.0 green:236.0/255.0 blue:231.0/255.0 alpha:1.0]
     
     
     
    //use dlog to print while in debug model
    #ifdef DEBUG
    #   define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
    #else
    #   define DLog(...)
    #endif
     
     
    #define isRetina ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 960), [[UIScreen mainScreen] currentMode].size) : NO)
    #define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)
    #define isPad (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
     
     
    #if TARGET_OS_IPHONE
    //iPhone Device
    #endif
     
    #if TARGET_IPHONE_SIMULATOR
    //iPhone Simulator
    #endif
     
     
    //ARC
    #if __has_feature(objc_arc)
        //compiling with ARC
    #else
        // compiling without ARC
    #endif
     
     
    //G-C-D
    #define BACK(block) dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), block)
    #define MAIN(block) dispatch_async(dispatch_get_main_queue(),block)
     
     
    #define USER_DEFAULT [NSUserDefaults standardUserDefaults]
    #define ImageNamed(_pointer) [UIImage imageNamed:[UIUtil imageName:_pointer]]
     
     
     
    #pragma mark - common functions
    #define RELEASE_SAFELY(__POINTER) { [__POINTER release]; __POINTER = nil; }
     
     
    #pragma mark - degrees/radian functions
    #define degreesToRadian(x) (M_PI * (x) / 180.0)
    #define radianToDegrees(radian) (radian*180.0)/(M_PI)
     
    #pragma mark - color functions
    #define RGBCOLOR(r,g,b) [UIColor colorWithRed:(r)/255.0f green:(g)/255.0f blue:(b)/255.0f alpha:1]
    #define RGBACOLOR(r,g,b,a) [UIColor colorWithRed:(r)/255.0f green:(g)/255.0f blue:(b)/255.0f alpha:(a)]
    #define ITTDEBUG
    #define ITTLOGLEVEL_INFO     10
    #define ITTLOGLEVEL_WARNING  3
    #define ITTLOGLEVEL_ERROR    1
     
    #ifndef ITTMAXLOGLEVEL
     
    #ifdef DEBUG
        #define ITTMAXLOGLEVEL ITTLOGLEVEL_INFO
    #else
        #define ITTMAXLOGLEVEL ITTLOGLEVEL_ERROR
    #endif
     
    #endif
     
    // The general purpose logger. This ignores logging levels.
    #ifdef ITTDEBUG
      #define ITTDPRINT(xx, ...)  NSLog(@"%s(%d): " xx, __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
    #else
      #define ITTDPRINT(xx, ...)  ((void)0)
    #endif
     
    // Prints the current method's name.
    #define ITTDPRINTMETHODNAME() ITTDPRINT(@"%s", __PRETTY_FUNCTION__)
     
    // Log-level based logging macros.
    #if ITTLOGLEVEL_ERROR <= ITTMAXLOGLEVEL
      #define ITTDERROR(xx, ...)  ITTDPRINT(xx, ##__VA_ARGS__)
    #else
      #define ITTDERROR(xx, ...)  ((void)0)
    #endif
     
    #if ITTLOGLEVEL_WARNING <= ITTMAXLOGLEVEL
      #define ITTDWARNING(xx, ...)  ITTDPRINT(xx, ##__VA_ARGS__)
    #else
      #define ITTDWARNING(xx, ...)  ((void)0)
    #endif
     
    #if ITTLOGLEVEL_INFO <= ITTMAXLOGLEVEL
      #define ITTDINFO(xx, ...)  ITTDPRINT(xx, ##__VA_ARGS__)
    #else
      #define ITTDINFO(xx, ...)  ((void)0)
    #endif
     
    #ifdef ITTDEBUG
      #define ITTDCONDITIONLOG(condition, xx, ...) { if ((condition)) {
                                                      ITTDPRINT(xx, ##__VA_ARGS__);
                                                    }
                                                  } ((void)0)
    #else
      #define ITTDCONDITIONLOG(condition, xx, ...) ((void)0)
    #endif
     
    #define ITTAssert(condition, ...)                                      
    do {                                                                      
        if (!(condition)) {                                                    
            [[NSAssertionHandler currentHandler]                                  
                handleFailureInFunction:[NSString stringWithUTF8String:__PRETTY_FUNCTION__]
                                    file:[NSString stringWithUTF8String:__FILE__]  
                                lineNumber:__LINE__                                  
                                description:__VA_ARGS__];                            
        }                                                                      
    } while(0)
     
     
     
    #define _po(o) DLOG(@"%@", (o))
    #define _pn(o) DLOG(@"%d", (o))
    #define _pf(o) DLOG(@"%f", (o))
    #define _ps(o) DLOG(@"CGSize: {%.0f, %.0f}", (o).width, (o).height)
    #define _pr(o) DLOG(@"NSRect: {{%.0f, %.0f}, {%.0f, %.0f}}", (o).origin.x, (o).origin.x, (o).size.width, (o).size.height)
     
    #define DOBJ(obj)  DLOG(@"%s: %@", #obj, [(obj) description])
     
    #define MARK    NSLog(@" MARK: %s, %d", __PRETTY_FUNCTION__, __LINE__)
     
    转自:http://www.cocoachina.com/bbs/read.php?tid=137317
  • 相关阅读:
    postgres column reference "id" is ambiguous
    网络 内网穿透frp
    odoo12 支付宝在线支付
    odoo 账号登录不上,重置密码也不管用
    odoo 取消保存提示
    聊聊redis分布式锁的8大坑 转载
    用 Keepalived+HAProxy 实现高可用负载均衡的配置方法 转载
    Nginx+keepalived 实现高可用,常用防盗链及动静分离配置 转载
    Git 实用技巧记录 转载:https://mp.weixin.qq.com/s/o6FvGfiG9b57xTeXlBzzQQ
    5 个冷门但非常实用的 Kubectl 使用技巧,99% 的人都不知道 https://mp.weixin.qq.com/s/h4_KRmsVSnlqCmIJh0altA
  • 原文地址:https://www.cnblogs.com/haveadream/p/3390051.html
Copyright © 2011-2022 走看看