//AppDelegate#define APPDELEGATE [(AppDelegate*)[UIApplication sharedApplication]  delegate]//----------------------系统设备相关----------------------------//获取设备屏幕尺寸#define SCREEN_WIDTH ([UIScreen mainScreen].bounds.size.width)#define SCREEN_HEIGHT ([UIScreen mainScreen].bounds.size.height)//应用尺寸#define APP_WIDTH [[UIScreen mainScreen]applicationFrame].size.width#define APP_HEIGHT [[UIScreen mainScreen]applicationFrame].size.height//获取系统版本#define IOS_VERSION [[[UIDevice currentDevice] systemVersion] floatValue]#define CurrentSystemVersion [[UIDevice currentDevice] systemVersion]#define isIOS4 ([[[UIDevice currentDevice] systemVersion] intValue]==4)#define isIOS5 ([[[UIDevice currentDevice] systemVersion] intValue]==5)#define isIOS6 ([[[UIDevice currentDevice] systemVersion] intValue]==6)#define isIOS7 ([[[UIDevice currentDevice] systemVersion] intValue]==7)#define isIOS8 ([[[UIDevice currentDevice] systemVersion] intValue]==8)#define isIOS9 ([[[UIDevice currentDevice] systemVersion] intValue]==9)#define isIOS10 ([[[UIDevice currentDevice] systemVersion] intValue]==10)#define isIOS11 ([[[UIDevice currentDevice] systemVersion] intValue]==11)#define isAfterIOS4 ([[[UIDevice currentDevice] systemVersion] intValue]>4)#define isAfterIOS5 ([[[UIDevice currentDevice] systemVersion] intValue]>5)#define isAfterIOS6 ([[[UIDevice currentDevice] systemVersion] intValue]>6)#define isAfterIOS7 ([[[UIDevice currentDevice] systemVersion] intValue]>7)#define isAfterIOS8 ([[[UIDevice currentDevice] systemVersion] intValue]>8)#define isAfterIOS9 ([[[UIDevice currentDevice] systemVersion] intValue]>9)#define isAfterIOS10 ([[[UIDevice currentDevice] systemVersion] intValue]>10)#define isAfterIOS11 ([[[UIDevice currentDevice] systemVersion] intValue]>11)//获取当前语言#define CurrentLanguage ([[NSLocale preferredLanguages] objectAtIndex:0])//判断是否 Retina屏、设备是否%fhone 5、是否是iPad#define isRetina ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 960), [[UIScreen mainScreen] currentMode].size) : NO)#define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)#define isPad (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)//判断是真机还是模拟器#if TARGET_OS_IPHONE//iPhone Device#endif#if TARGET_IPHONE_SIMULATOR//iPhone Simulator#endif//----------------------系统设备相关----------------------------//----------------------内存相关----------------------------//NSUserDefaults#define UserDefauleSet(value,key) [[NSUserDefaults standardUserDefaults]setObject:value forKey:key];
#define UserDefauleObject(key) [[NSUserDefaults standardUserDefaults]objectIsForcedForKey:key];
#define UserDefauleRemove(key)[[NSUserDefaults standardUserDefaults]removeObjectForKey:key];//通知
#define NotificationAdd(action,name) [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(action:) name:name object:nil];
#define NotificationPost(name,dict) [[NSNotificationCenter defaultCenter]postNotificationName:name object:nil userInfo:dict];
#define NotificationRemove(name) [[NSNotificationCenter defaultCenter]removeObserver:self name:name object:nil];
//使用ARC和不使用ARC#if __has_feature(objc_arc)//compiling with ARC#else// compiling without ARC#endif//释放一个对象#define SAFE_DELETE(P) if(P) { [P release], P = nil; }#define SAFE_RELEASE(x) [x release];x=nil//----------------------内存相关----------------------------//----------------------图片相关----------------------------//读取本地图片#define LOADIMAGE(file,ext) [UIImage imageWithContentsOfFile:[[NSBundle mainBundle]pathForResource:file ofType:ext]]//定义UIImage对象#define IMAGE(A) [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:A ofType:nil]]//定义UIImage对象#define ImageNamed(_pointer) [UIImage imageNamed:_pointer]//可拉伸的图片#define ResizableImage(name,top,left,bottom,right) [[UIImage imageNamed:name] resizableImageWithCapInsets:UIEdgeInsetsMake(top,left,bottom,right)]#define ResizableImageWithMode(name,top,left,bottom,right,mode) [[UIImage imageNamed:name] resizableImageWithCapInsets:UIEdgeInsetsMake(top,left,bottom,right) resizingMode:mode]//建议使用前两种宏定义,性能高于后者//----------------------图片相关----------------------------//----------------------颜色相关---------------------------// rgb颜色转换(16进制->10进制)#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]// 获取RGB颜色#define RGBA(r,g,b,a) [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b/255.0f alpha:a]#define RGB(r,g,b) RGBA(r,g,b,1.0f)//背景色#define BACKGROUND_COLOR [UIColor colorWithRed:242.0/255.0 green:236.0/255.0 blue:231.0/255.0 alpha:1.0]//清除背景色#define CLEARCOLOR [UIColor clearColor]//----------------------颜色相关--------------------------//----------------------其他----------------------------//方正黑体简体字体定义#define FONT(F) [UIFont fontWithName:@"FZHTJW--GB1-0" size:F]//file//读取文件的文本内容,默认编码为UTF-8#define FileString(name,ext)     [[NSString alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:(name) ofType:(ext)] encoding:NSUTF8StringEncoding error:nil]#define FileDictionary(name,ext)   [[NSDictionary alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:(name) ofType:(ext)]]#define FileArray(name,ext)       [[NSArray alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:(name) ofType:(ext)]]//G-C-D#define BACK(block) dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), block)#define MAIN(block) dispatch_async(dispatch_get_main_queue(),block)//Alert#define ALERT(msg) [[[UIAlertView alloc] initWithTitle:nil message:msg delegate:nil cancelButtonTitle:@"ok" otherButtonTitles:nil] show]//由角度获取弧度 有弧度获取角度#define degreesToRadian(x) (M_PI * (x) / 180.0)#define radianToDegrees(radian) (radian*180.0)/(M_PI)//----------------------其他-------------------------------//----------------------视图相关----------------------------//设置需要粘贴的文字或图片#define PasteString(string)   [[UIPasteboard generalPasteboard] setString:string];#define PasteImage(image)     [[UIPasteboard generalPasteboard] setImage:image];//得到视图的left top的X,Y坐标点#define VIEW_TX(view) (view.frame.origin.x)#define VIEW_TY(view) (view.frame.origin.y)//得到视图的right bottom的X,Y坐标点#define VIEW_BX(view) (view.frame.origin.x + view.frame.size.width)#define VIEW_BY(view) (view.frame.origin.y + view.frame.size.height )//得到视图的尺寸:宽度、高度#define VIEW_W(view)  (view.frame.size.width)#define VIEW_H(view)  (view.frame.size.height)//得到frame的X,Y坐标点#define FRAME_TX(frame)  (frame.origin.x)#define FRAME_TY(frame)  (frame.origin.y)//得到frame的宽度、高度#define FRAME_W(frame)  (frame.size.width)#define FRAME_H(frame)  (frame.size.height)//----------------------视图相关----------------------------//---------------------打印日志--------------------------//Debug模式下打印日志,当前行,函数名#if DEBUG#define DLog(FORMAT, ...) fprintf(stderr,"\nfunction:%s line:%d content:%s\n", __FUNCTION__, __LINE__, [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);#else#define NSLog(FORMAT, ...) nil#endif//Debug模式下打印日志,当前行,函数名 并弹出一个警告#ifdef DEBUG#   define  WDLog(fmt, ...)  { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:[NSString stringWithFormat:@"%s\n [Line %d] ", __PRETTY_FUNCTION__, __LINE__] message:[NSString stringWithFormat:fmt, ##__VA_ARGS__]  delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil]; [alert show]; }#else#   define NSLog(...)#endif//打印Frame#define LogFrame(frame) NSLog(@"frame[X=%.1f,Y=%.1f,W=%.1f,H=%.1f",frame.origin.x,frame.origin.y,frame.size.width,frame.size.height)//打印Point#define LogPoint(point) NSLog(@"Point[X=%.1f,Y=%.1f]",point.x,point.y)//---------------------打印日志--------------------------

转载于:https://www.cnblogs.com/xujiahui/p/6962956.html

iOS 常用到的宏#define相关推荐

  1. ios 常用的宏定义

    #pragma mark - shortcuts #ifdef QA # define NSLog(fmt, ...) NSLog((@"[文件名:%s]\n" "[函数 ...

  2. iOS - 常用宏定义和PCH文件知识点整理

    (一)PCH文件操作步骤演示: 第一步:图文所示: 第二步:图文所示: (二)常用宏定义整理: (1)常用Log日志宏(输出日志详细可定位某个类.某个函数.某一行) //=============== ...

  3. VC中的宏 (#define) 与预处理 (#if/#ifdef/#pragma) 的使用方法总结。

    C/C++ 预定义宏 例子:C/C++ 预定义宏的取值 C/C++ 预定义宏用途:诊断与调试输出 CRT 的诊断与调试输出:assert, _ASSERT/_ASSERTE, _RPTn/_RPTFn ...

  4. *******************ios 常用 例子 解释 *********************

    • ios建立空模版"Empty Application"常用代码 • ios中常用的小代码段 • ios常用的几个动画代码 • iOS开发之17个常用代码整理 • iOS常用功能 ...

  5. c语言中undef,C/C++中常用的预处理方法 #define #undef #ifdef #endif

    初学C语言时,经常会看见文件起始一句#define PI 3.1415之类的预处理语句,大部分国内教材没有再进一步介绍C其他的预处理语句.下面进行一些总结: define 常规用法 #define m ...

  6. IOS常用正则表达式

    IOS常用正则表达式 正则表达式用于字符串处理.表单验证等场合,实用高效.现将一些常用的表达式收集于此,以备不时之需. 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 评注:匹配中文还真是 ...

  7. iOS常用的忽略警告

    在iOS开发过程中,偶尔会碰到一些编译器警告,如果能够确定该警告不会影响到程序的正常运行,则可以手动告诉编译器忽略掉这个警告 iOS常用的忽略警告类型: 1.方法弃用警告 #pragma clang ...

  8. iOS常用国外网站清单

    工欲善其事必先利其器,最近发现临时查找一些东西容易浪费时间,花了点时间整理一下常用的网站,方便以后备用. 国内的code4app,ui4app,cocoachina,oschina,csdn就不说了, ...

  9. iOS常用快捷键/终端常用指令

    一 iOS常用快捷键 iOS常用快捷键 新建项目 com + shift +N 新建文件 com + N 偏好设置 通用 com + , 跳到指定行 com + L 当前行加断点 com + \ 向前 ...

  10. IOS常用的系统文件目录介绍

    iOS常用目录整理说明是本文要介绍的内容,虽然不同API全面,也算是在编程中常用到的存放目录,所以是必备文档,不多说,来看详细内容讲解. 1.[/Applications] 常用软件的安装目录 内建软 ...

最新文章

  1. iOS 微信SDK1.8.6后需要UniversalLink解决方案及采坑记录
  2. 怎么申请微信支付接口
  3. jar 反编译_Java加密jar包流程
  4. 你知道你常用的dos和linux命令吗?
  5. c语言常考的程序,复试C语言常考趣味程序方案.doc
  6. 解决bash: mysql: command not found 的方法【linux mysql命令 】
  7. Cuda-convnet配置指南 on Windows8.1+CUDA6.5+VS2013
  8. 2014年终总结,我决定要实现的三个目标
  9. 谷歌字体连接超时解决方案
  10. python boxplot的使用方法
  11. ubuntu下查看显卡型号
  12. 分水岭算法java,C++实现分水岭算法(Watershed Algorithm)
  13. ATX 双电源切换电路
  14. Vue3大菠萝pinia笔记
  15. ios面试题 看了就知道哪方面需要加强上机练习
  16. RPC论文翻译(Implementing Remote Procedure Calls)
  17. 临时起搏器测试----概念梳理
  18. Microsoft Visual Studio + Qt插件编程出现错误error MSB4184问题
  19. htpasswd -cb_安装程序集组件期间发生错误-98cb24ad-52fb-db5f-a01f-c8b3b9a1e18e
  20. unittest的详细说明

热门文章

  1. android 文件转base64 base64字符串转文件 语音留言及语音播放
  2. matlab 2017a安装教程
  3. NSString 与 Unicode
  4. 项目实战:DIY光驱激光雕刻机-激光切割机 (含制作步骤 实物 图纸 程序 上位机软件 )下载
  5. 七种滤波方法测试matlab
  6. 《Java核心技术》基于Java 17全面升级
  7. 心电电路算法滤波_简述心电信号采集原理及电路设计
  8. 数字时钟仿真电路设计
  9. vb代码转为c++代码_VB源码转换工具(VBto Converter)
  10. 十、Net6 Core Api发布到IIS