002
#ifndef nilToEmpty
003
#define nilToEmpty(object) (object!=nil)?object:@""
004
#endif
005
006
#ifndef formatStringOfObject
007
#define formatStringOfObject(object) [NSString stringWithFormat:@"%@", object]
008
#endif
009
010
#ifndef nilToEmptyFormatStringOfObject
011
#define nilToEmptyFormatStringOfObject(object) formatStringOfObject(nilToEmpty(object))
012
#endif
013
014
015
016
017
#ifndef imagePath
018
#define imagePath(imageName) [[NSBundle mainBundle] pathForResource:imageName ofType:@"png"]
019
#endif
020
021
022
023
#define RGBA(r, g, b, a) [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b/255.0f alpha:a]
024
#define RGB(r, g, b) RGBA(r, g, b, 1.0f)
025
#define HEXCOLOR(c) [UIColor colorWithRed:((c>>16)&0xFF)/255.0f green:((c>>8)&0xFF)/255.0f blue:(c&0xFF)/255.0f alpha:1.0f];
026
027
028
029
#define debug(...) NSLog(@"%s %@", __PRETTY_FUNCTION__, [NSString stringWithFormat:__VA_ARGS__])
030
031
032
033
#define SUPPORT_IPHONE_OS_VERSION(version) ( __IPHONE_OS_VERSION_MIN_REQUIRED <= version && __IPHONE_OS_VERSION_MAX_ALLOWED >= version)
034
035
036
037
#define ApplicationDelegate ((AppDelegate *)[[UIApplication sharedApplication] delegate])
038
039
040
041
#define UserDefaults [NSUserDefaults standardUserDefaults]
042
#define NotificationCenter [NSNotificationCenter defaultCenter]
043
#define SharedApplication [UIApplication sharedApplication]
044
045
046
#define Bundle [NSBundle mainBundle]
047
048
#define MainScreen [UIScreen mainScreen]
049
050
051
052
#define ShowNetworkActivityIndicator() [UIApplication sharedApplication].networkActivityIndicatorVisible = YES
053
#define HideNetworkActivityIndicator() [UIApplication sharedApplication].networkActivityIndicatorVisible = NO
054
#define NetworkActivityIndicatorVisible(x) [UIApplication sharedApplication].networkActivityIndicatorVisible = x
055
056
057
058
#define NavBar self.navigationController.navigationBar
059
#define TabBar self.tabBarController.tabBar
060
061
062
063
#define ScreenWidth [[UIScreen mainScreen] bounds].size.width
064
#define ScreenHeight [[UIScreen mainScreen] bounds].size.height
065
066
#define NavBarHeight self.navigationController.navigationBar.bounds.size.height
067
#define TabBarHeight self.tabBarController.tabBar.bounds.size.height
068
069
070
#define TouchHeightDefault 44.0f
071
#define TouchHeightSmall 32.0f
072
073
074
#define ViewWidth(v) v.frame.size.width
075
#define ViewHeight(v) v.frame.size.height
076
#define ViewX(v) v.frame.origin.x
077
#define ViewY(v) v.frame.origin.y
078
079
080
#define SelfViewWidth self.view.bounds.size.width
081
#define SelfViewHeight self.view.bounds.size.height
082
083
084
#define RectX(rect) rect.origin.x
085
#define RectY(rect) rect.origin.y
086
#define RectWidth(rect) rect.size.width
087
#define RectHeight(rect) rect.size.height
088
089
090
#define RectSetWidth(rect, w) CGRectMake(RectX(rect), RectY(rect), w, RectHeight(rect))
091
#define RectSetHeight(rect, h) CGRectMake(RectX(rect), RectY(rect), RectWidth(rect), h)
092
#define RectSetX(rect, x) CGRectMake(x, RectY(rect), RectWidth(rect), RectHeight(rect))
093
#define RectSetY(rect, y) CGRectMake(RectX(rect), y, RectWidth(rect), RectHeight(rect))
094
095
096
#define RectSetSize(rect, w, h) CGRectMake(RectX(rect), RectY(rect), w, h)
097
#define RectSetOrigin(rect, x, y) CGRectMake(x, y, RectWidth(rect), RectHeight(rect))
098
099
100
101
102
#if ! __has_feature(objc_arc)
103
#define SBAutorelease(__v) ([__v autorelease]);
104
#define SBReturnAutoreleased SBAutorelease
105
106
#define SBRetain(__v) ([__v retain]);
107
#define SBReturnRetained SBRetain
108
109
#define SBRelease(__v) ([__v release]);
110
111
#define SBDispatchQueueRelease(__v) (dispatch_release(__v));
112
#else
113
114
#define SBAutorelease(__v)
115
#define SBReturnAutoreleased(__v) (__v)
116
117
#define SBRetain(__v)
118
#define SBReturnRetained(__v) (__v)
119
120
#define SBRelease(__v)
121
122
#if TARGET_OS_IPHONE
123
124
#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 60000
125
126
#define SBDispatchQueueRelease(__v)
127
#else
128
129
#define SBDispatchQueueRelease(__v) (dispatch_release(__v));
130
#endif
131
#else
132
133
#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1080
134
135
#define SBDispatchQueueRelease(__v)
136
#else
137
138
#define SBDispatchQueueRelease(__v) (dispatch_release(__v));
139
#endif
140
#endif
141
#endif