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行 \n %@\n\n",__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 \blue:((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) |
posted on 2016-09-02 15:07 yucaijiang 阅读(202) 评论(0) 收藏 举报
浙公网安备 33010602011771号