//
// 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])
/// 欢迎补充