//
字符串: |
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 |
//
debug |
029 |
#define
debug(...) NSLog(@"%s %@", __PRETTY_FUNCTION__, [NSString stringWithFormat:__VA_ARGS__]) |
030 |
031 |
032 |
//
iOS 支持 |
033 |
#define
SUPPORT_IPHONE_OS_VERSION(version) ( __IPHONE_OS_VERSION_MIN_REQUIRED <= version && __IPHONE_OS_VERSION_MAX_ALLOWED >= version) |
034 |
035 |
036 |
//
Application delegate |
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 |
//
-fobjc-arc |
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 |
//
Compiling for iOS |
124 |
#if
__IPHONE_OS_VERSION_MIN_REQUIRED >= 60000 |
125 |
//
iOS 6.0 or later |
126 |
#define
SBDispatchQueueRelease(__v) |
127 |
#else |
128 |
//
iOS 5.X or earlier |
129 |
#define
SBDispatchQueueRelease(__v) (dispatch_release(__v)); |
130 |
#endif |
131 |
#else |
132 |
//
Compiling for Mac OS X |
133 |
#if
MAC_OS_X_VERSION_MIN_REQUIRED >= 1080 |
134 |
//
Mac OS X 10.8 or later |
135 |
#define
SBDispatchQueueRelease(__v) |
136 |
#else |
137 |
//
Mac OS X 10.7 or earlier |
138 |
#define
SBDispatchQueueRelease(__v) (dispatch_release(__v)); |
139 |
#endif |
140 |
#endif |
141 |
#endif |