ios开发--常用宏定义(部分转)

摘要:
CGSizeEqualToSize(CGSizeMake(6401136),[[UIScreen主屏幕]当前模式]。size):否)#definesPad(UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad)#defineCourrentSystemVersion([[UIDevicecurrentDevice]systemVersion])#defineCurrentLanguage([[NSLocalepreferredLanguages]objectAtIndex:0])#defineisTina([UIScreeninstanceRespondToSelector:@selector(currentMode)]?

1、release时,屏蔽log

C代码 复制代码 收藏代码ios开发--常用宏定义(部分转)第3张
  1. #if defined (DEBUG) && DEBUG == 1  
  2.   
  3. #else  
  4. #define NSLog(...) {};  
  5. #endif  
#if defined (DEBUG) && DEBUG == 1

#else
#define NSLog(...) {};
#endif

2、在主线程或在后台执行block

C代码 复制代码 收藏代码ios开发--常用宏定义(部分转)第3张
  1. #define BACK(block) dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), block)  
  2. #define MAIN(block) dispatch_async(dispatch_get_main_queue(),block)  
#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)

3、设备相关

C代码 复制代码 收藏代码ios开发--常用宏定义(部分转)第3张
  1. #define isRetina ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 960), [[UIScreen mainScreen] currentMode].size) : NO)  
  2.   
  3. #define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)  
  4.   
  5. #define isPad (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)  
  6.   
  7. #define CurrentSystemVersion ([[UIDevice currentDevice] systemVersion])  
  8.   
  9. #define CurrentLanguage ([[NSLocale preferredLanguages] objectAtIndex:0])   
#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)

#define CurrentSystemVersion ([[UIDevice currentDevice] systemVersion])

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

4、区分模拟器和真机

C代码 复制代码 收藏代码ios开发--常用宏定义(部分转)第3张
  1. #if TARGET_OS_IPHONE  
  2. //iPhone Device  
  3. #endif  
  4.   
  5. #if TARGET_IPHONE_SIMULATOR  
  6. //iPhone Simulator  
  7. #endif  
#if TARGET_OS_IPHONE
//iPhone Device
#endif

#if TARGET_IPHONE_SIMULATOR
//iPhone Simulator
#endif

5、根据是否使用ARC做不同操作

C代码 复制代码 收藏代码ios开发--常用宏定义(部分转)第3张
  1. #if __has_feature(objc_arc)  
  2.     //compiling with ARC  
  3. #else  
  4.     // compiling without ARC  
  5. #endif  

免责声明:文章转载自《ios开发--常用宏定义(部分转)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇单链表选择排序linux mailbox模型【转】下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

iOS开发网络篇—多线程断点下载

iOS开发网络篇—多线程断点下载 说明:本文介绍多线程断点下载。项目中使用了苹果自带的类,实现了同时开启多条线程下载一个较大的文件。因为实现过程较为复杂,所以下面贴出完整的代码。 实现思路:下载开始,创建一个和要下载的文件大小相同的文件(如果要下载的文件为100M,那么就在沙盒中创建一个100M的文件,然后计算每一段的下载量,开启多条线程下载各段的数据,...

ios开发过程中描述文件(provisioning profile)过期导致ios无法正常安装的处理办法

1、登录开发者中心,重新编辑描述文件,获得最新的描述文件。(如果对应的P12文件也过期,需要同时下载最新的p12文件)。----该步骤需要有权限的人才能操作。 2、下载最新的描述文件和p12文件(如果p12文件也过期了的话)。 3、将2个文件发到Mac,在mac中双击p12文件安装(如果p12文件未过期可跳过此步)。 4、在Xcode中删除原来过期的描述文...

Hadoop学习之路(二)HDFS基础

1.HDFS前言 HDFS:Hadoop Distributed File System,Hadoop分布式文件系统,主要用来解决海量数据的存储问题。 设计思想 分散均匀存储 dfs.blocksize = 128M 备份冗余存储 dfs.replication = 3 在大数据系统中作用 为各类分布式运算框架(如:MapReduce,spark,hi...

define宏定义中的#,##,@#及符号

define宏定义中的#,##,@#及符号 在#define中,标准只定义了#和##两种操作。#用来把参数转换成字符串,##则用来连接两个前后两个参数,把它们变成一个字符串。 1、#(stringizing)字符串化操作符。其作用是:将宏定义中的传入参数名转换成用一对双引号括起来参数名字符串。其只能用于有传入参数的宏定义中,且必须置于宏定义体中的参数名前。...

iOS学习——如何在mac上获取开发使用的模拟器的资源以及模拟器中每个应用的应用沙盒

如题,本文主要研究如何在mac上获取开发使用的模拟器的资源以及模拟器中每个应用的应用沙盒。做过安卓开发的小伙伴肯定很方便就能像打开资源管理器一样查看我们写到手机本地或应用中的各种资源,但是在iOS开发中,在真机上还可以通过一些软件工具iExplorer等查看手机上的资源,但是如果你在开发过程中经常使用xcode自带的模拟器进行调试,这是你要查看模拟器中相关...

iOS开发——OC篇&常用问题解答(一)

常用问题解答 1、设置 ImagePicker 的大小 ImagePicker 在 Popover Controller 总是以默认大小显示,设置 popoverContentSize 属性似乎无用。解决办法是将ImagePicker “包含”到一个定制的 ViewController 中,然后再 presentPopover 这个 ViewControl...