ios 开发中常用的宏定义 --欢迎补充

//
//  CommonMacroDefinition.h
//  LearnThread
//
//  Created by Marico Sun in Beijing on 16/7/4.
//  Copyright © 2016年 QL. All rights reserved.
//

//判断是否要Log 可以打印文件名 函数名 行数
#ifdef NEED_DEBUG
#define NSLog(format, ...) \
//Log定义...
#else
#define NSLog(format, ...) \
do { \
NSLog(@"<%@ : %d : %s>-: %@", \
[[NSString stringWithUTF8String:__FILE__] lastPathComponent], \
__LINE__, \
__FUNCTION__, \
[NSString stringWithFormat:format, ##__VA_ARGS__]); \
} while(0)
#endif

/// debug 模式 和release 模式下的打印
#ifdef DEBUG
#define LOG(...) NSLog(__VA_ARGS__)
#else
#define LOG(...)
#endif

/// blcok 和self 引起的循环引用警告⚠️的处理问题
#define WEEK_REF(obj) __weak typeof(obj) __##obj = obj

/// 本地数据的存取
#define USERDEFAULTS (NSUserDefaults *)[NSUserDefaults standardUserDefaults]
/// 保存常量信息到本地
#define USERDEFAULTS_V_K(v,k) [USERDEFAULTS setObject:v forKey:k]
/// 获取本地保存的常量信息From V(v is key)
#define USERDEFAULTS_K(k) [USERDEFAULTS objectForKey:k]

/// 获取版本号
#define OSVERSION [[[UIDevice currentDevice] systemVersion] floatValue]

/// 获取View的属性
#define GetViewWidth(view)  view.frame.size.width
#define GetViewHeight(view) view.frame.size.height
#define GetViewX(view)      view.frame.origin.x
#define GetViewY(view)      view.frame.origin.y

/// 屏幕常量
#define GetScreenWidth      [[UIScreen mainScreen] bounds].size.width
#define GetScreenHeight     [[UIScreen mainScreen] bounds].size.height

/// 获取图片资源
#define GetImage(imageName) [UIImage imageNamed:[NSString stringWithFormat:@"%@",imageName]]

/// rgb颜色设置
#define UIColorFromRGB(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]


/// UUID
#define UUID [[[UIDevice currentDevice] identifierForVendor] UUIDString]

/// 获取当前语言
#define CurrentLanguage ([[NSLocale preferredLanguages] objectAtIndex:0])

/// 欢迎补充
posted @ 2016-07-04 12:01  MaricoSun  阅读(353)  评论(0编辑  收藏  举报