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(@"\nMARK: %s, %d", __PRETTY_FUNCTION__, __LINE__) |
ios开发常用宏
最新推荐文章于 2020-09-17 09:15:41 发布