好用的宏定义

//获取系统对象

#define kApplication[UIApplication sharedApplication]

#define kAppWindow[UIApplication sharedApplication].delegate.window

#define kAppDelegate[AppDelegate shareAppDelegate]

#define kRootViewController[UIApplication sharedApplication].delegate.window.rootViewController

#define kUserDefaults[NSUserDefaults standardUserDefaults]

#define kNotificationCenter[NSNotificationCenter defaultCenter]


//View圆角和加边框

#define ViewBorderRadius(View,Radius,Width,Color)\

\

[View.layer setCornerRadius:(Radius)];\

[View.layer setMasksToBounds:YES];\

[View.layer setBorderWidth:(Width)];\

[View.layer setBorderColor:[Color CGColor]]

// View圆角

#define ViewRadius(View,Radius)\

\

[View.layer setCornerRadius:(Radius)];\

[View.layer setMasksToBounds:YES]



//property属性快速声明

#define PropertyString(s)@property(nonatomic,copy)NSString * s

#define PropertyNSInteger(s)@property(nonatomic,assign)NSIntegers

#define PropertyFloat(s)@property(nonatomic,assign)floats

#define PropertyLongLong(s)@property(nonatomic,assign)long long s

#define PropertyNSDictionary(s)@property(nonatomic,strong)NSDictionary * s

#define PropertyNSArray(s)@property(nonatomic,strong)NSArray * s

#define PropertyNSMutableArray(s)@property(nonatomic,strong)NSMutableArray * s

///IOS版本判断

#define IOSAVAILABLEVERSION(version)([[UIDevice currentDevice]availableVersion:version]< 0)

//当前系统版本

#define CurrentSystemVersion[[UIDevice currentDevice].systemVersion doubleValue]

//当前语言

#define CurrentLanguage([NSLocale preferredLanguages]objectAtIndex:0])

//-------------------打印日志-------------------------

//DEBUG模式下打印日志,当前行

#ifdef DEBUG

#define LYLog(fmt,...)NSLog((@"%s[Line %d]" fmt),__PRETTY_FUNCTION__,__LINE__,##__VA_ARGS__);

#else

#define LYLog(...)

#endif


//单例化一个类

#define SINGLETON_FOR_HEADER(className)\

\

+(className *)shared##className;

#define SINGLETON_FOR_CLASS(className)\

\

+(className *)shared##className { \

static className *shared##className = nil;\

static dispatch_once_t onceToken;\

dispatch_once(&onceToken,^{ \

shared##className =[[self alloc]init];\

});\

return shared##className;\

}



#define SCREENWIDTH  [UIScreen mainScreen].bounds.size.width

#define SCREENHEIGHT [UIScreen mainScreen].bounds.size.height


#define PPRGBCOLOR(r,g,b) [UIColor colorWithRed:(r)/255.0f green:(g)/255.0f blue:(b)/255.0f alpha:1]

#define PPCOLOR(r,g,b,a) [UIColor colorWithRed:r/255.f green:g/255.f blue:b/255.f alpha:a]

#define PPRANDOMCOLOR  [UIColor colorWithRed:(arc4random()%255)/255.0f green:(arc4random()%255)/255.0f blue:(arc4random()%255)/255.0f alpha:1]


#define COLOR_WITH_HEX(hexValue) [UIColor colorWithRed:((float)((hexValue & 0xFF0000) >> 16)) / 255.0 green:((float)((hexValue & 0xFF00) >> 8)) / 255.0 blue:((float)(hexValue & 0xFF)) / 255.0 alpha:1.0f]

#define WEAKSELF    __weak __typeof(&*self) ws = self;

#define WIDTHSCALE6 SCREENWIDTH/375.0f

#define HEIGHTSCALE6 SCREENHEIGHT/667.0f








猜你喜欢

转载自blog.csdn.net/helloworld_junyang/article/details/77162005