iPhone ARC 宏定义
来源:互联网 发布:jdk 8 linux x64.rpm 编辑:程序博客网 时间:2024/05/18 15:30
有时我们写个代码开源出来给别人用时,会被其他开发者抱怨编译不了,很多情况是版本的问题,尤其现在ARC的出现后关于weak,strong的问题让人头疼。
有个开源代码这里做的很不错,就是MBProgressHUD
看下他是怎么做的:
#ifndef MB_STRONG
#if __has_feature(objc_arc)
#define MB_STRONG strong
#else
#define MB_STRONG retain
#endif
#endif
#ifndef MB_WEAK
#if __has_feature(objc_arc_weak)
#define MB_WEAK weak
#elif __has_feature(objc_arc)
#define MB_WEAK unsafe_unretained
#else
#define MB_WEAK assign
#endif
#endif
非ARC的retain,相当于ARC的strong
iOS5的ARC中weak能在销毁时自动赋值nil,这是iOS4.x上使用ARC不具备,所以用的unsafe,非ARC自然是assign
- iPhone ARC 宏定义
- arc宏定义
- iphone arc
- iphone 模拟器宏定义
- ARC属性的定义
- iOS项目中兼容ARC与非ARC的一些宏定义
- iOS单例写成宏定义(ARC和MRC)
- iPhone开发之深入浅出 --- ARC
- iPhone开发之 ARC是什么
- iPhone开发之 ARC是什么
- iPhone开发之 ARC是什么
- 定义宏 判断iphone ios版本
- 判断iphone手机的宏定义
- iPhone开发笔记(3)关闭arc
- iphone中xcode4.2中取消arc
- iphone 自动引用计数(ARC)
- iPhone ARC之对象转型 --__bridge
- iPhone开发之深入浅出 — ARC总结
- 线上应用故障排查之一:高CPU占用(转)
- 《程序员的第一年》---------- 读写配置文件---Properties.Settings.
- C++个人笔记(一)
- 通用型有源滤波器(universal active filter)
- 应届生求职必备:常用的16个c/c++面试题
- iPhone ARC 宏定义
- FileUtils
- VMware.Workstation Linux与windows实现文件夹共享
- ios 内存管理原则及exec_back_assess调试
- 总算解决了swfupload在非IE(chrome firefox opera)统统不能用的问题
- FusionCharts等产品简介
- [shell] linux系统安全shell第二版
- windows 7下如何为netsh命令加入routing选项
- UBoot的工作