iOS开发系统一些常见的宏
来源:互联网 发布:excel中删除筛选数据 编辑:程序博客网 时间:2024/04/28 11:22
1、NS_FORMAT_FUNCTION(1,2) NS_FORMAT_FUNCTION
展开为一个方法 __attribute__,它会告诉编译器在索引1处的参数是一个格式化字符串,而实际参数从索引2开始。这将允许编译器检查格式化字符串而且会像 NSLog() 和 -[NSString stringWithFormat:] 一样输出警告信息。
2、NS_REQUIRES_NIL_TERMINATION 展开为一个方法 一般后面有一个nil 比如 初始化 UIAlertView 后面就有一个 NS_REQUIRES_NIL_TERMINATION
3、NS_BLOCKS_AVAILABLE 这是一个 条件 判断Block块是否有用 #if NS_BLOCKS_AVAILABLE 中间写代码 #endif
4、NS_AVAILABLE(10_5,2_0) 前面10_5代表Mac系统,后面2_0代表iOS系统,它会告诉编译器该方法在xos10.5及以上和iOS2.0及以上可以使用,如果系统的版本低于提示版本,程序在编译时就会crash。跟在方法后面
NS_AVAILABLE_IOS(6_0) 6_0代表iOS系统,它会告诉编译器该方法在iOS6.0及以上可以使用,如果系统的版本低于提示版本,程序在编译时就会crash。跟在方法后面
5、NS_ENUM_AVAILABLE(10_5, 2_0) 前面10_5代表Mac系统,后面2_0代表iOS系统,它会告诉编译器该枚举在xos10.5及以上和iOS2.0及以上可以使用,如果系统的版本低于提示版本,程序在编译时就会crash。跟在枚举后面
NS_ENUM_AVAILABLE_IOS(7_0)7_0代表iOS系统,它会告诉编译器该枚举在iOS7.0及以上可以使用,如果系统的版本低于提示版本,程序在编译时就会crash。跟在枚举后面
6、NS_DEPRECATED_IOS(2_0,6_0) 前面2_0代表iOS系统,表示这个方法被引用时的iOS版本,后面6_0代表iOS系统,表示这个方法被弃用时的iOS版本。被弃用并不是指这个方法就不存在,它会告诉用户去使用新方法
7、DEPRECATED_ATTRIBUTE 它会告诉编译器该方法被弃用了
DEPRECATED_MSG_ATTRIBUTE(s) 它会告诉编译器该方法被弃用了,后面s 代表提示
__deprecated_msg(_msg) 它会告诉编译器该方法被弃用了,后面_msg代表提示
8、TARGET_IPHONE_SIMULATOR 它代表是模拟器
TARGET_OS_IPHONE 它代表是真机
9、__IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_8_0 它判断当前设备系统是否大于iOS8
__IPHONE_OS_VERSION_MIN_REQUIRED <= __IPHONE_7_0 它判断当前设备系统是否小于iOS7
10、关于宏定义中的#和##的说明
#有两个作用:
①.将变量直接转化为相应字面量的C语言字符串 如a=10 #a会转换为“a”
②.连接两个C字符串
##的常用用处是连接,它会将在它之前的语句、表达式等和它之后的语句、表达式等直接连接
#define combine(a, b) a##b 比如:combine(10, 2222) 输出 102222
- iOS开发系统一些常见的宏
- iOS开发 常见的一些单词
- iOS开发中常见的一些异常
- IOS开发一些常见的错误
- iOS的一些常见系统Notification(系统消息)
- iOS中常见的一些宏
- iOS开发中一些常见的并行处理
- iOS开发中一些常见的并行处理
- iOS开发中一些常见的并行处理
- iOS开发中一些常见的并行处理
- iOS开发中一些常见的并行处理
- iOS开发中一些常见的并行处理
- iOS开发中一些常见的并行处理
- iOS开发中一些常见的并行处理
- iOS开发之UIWebView的常见一些用法
- 【iOS开发】一些常见的警告解决方案(更新中。。。)
- iOS开发中一些常见的并行处理
- iOS开发 一些常见的内存泄露和崩溃
- Ubuntu中和用户、用户组相关的操作
- NSValue可以将结构转化为对象,并把它存储在集合中。
- CString 字串去除非数字
- 创建Windows系统服务 —— sc create [serviceName] binpath "path"
- SecureCRT连接ubuntu时,中文显示乱码的解决方法
- iOS开发系统一些常见的宏
- ArcGIS教程:线密度分析的工作原理
- 浅析VO、DTO、DO、PO的概念、区别和用处
- 互斥锁pthread_mutex_t的使用
- Android之LoaderManager的使用
- 【jQuery】检测对象是否为空
- ffmpeg中avio_alloc_context设置
- iOS UISearchController的使用
- 解决:Hibernate 向Mysql插入中文数据乱码,出现???