扫码关注官方订阅号
悲剧的ASIHTTPRequest不支持ARC,我的新工程想把ARC开起来。 但是想不到办法,怎么在一个开启ARC的工程里使用不支持ARC的对象。。。 import进来,连编译都过不了啊!悲了个剧!
欢迎选择我的课程,让我们一起见证您的进步~~
对于它的.m文件启用编译器flag:
-fno-objc-arc
简易方案,选择你编译的的target,build phases-->Compiled sources中,双击没用arc的文件,写-fno-objc-arc
相应的,没开启ARC的工程单独为某文件开启arc,compile flag填 -fobjc-arc
-fobjc-arc
如果你为别人写框架,需要兼容arc、非arc、gc等多模,在代码中可以用预处理判断:
#if(!__has_feature(objc_arc)) [_someObj release]; #endif
也可以在你全局的pch中加入这个宏
#ifndef OBJC_ARC_ENABLED #ifdef __has_feature #define OBJC_ARC_ENABLED __has_feature(objc_arc) #else #define OBJC_ARC_ENABLED 0 #endif #endif
以后判断就
#if(OBJC_ARC_ENABLED) [_someObj release]; #endif
只要把不需要arc的类设置一下就好了 - - 参考这篇文章http://www.yifeiyang.net/development-...
可以借助静态方法操作。 首先这些非ARC的m文件要加上 -fno-objc-arc参数编译 然后还要有一个辅助的类也是-fno-objc-arc的。在这个类中初始化ASIHTTPRequest对象,并且实现delegate方法,注册delegate和应用回调方法。 辅助类中定义静态方法,来发起请求。当请求完成回调delegate的时候,在根据注册的delegate和应用回调,使用 [delegate performSelector:]的方式完成回调。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
对于它的.m文件启用编译器flag:
简易方案,选择你编译的的target,build phases-->Compiled sources中,双击没用arc的文件,写
-fno-objc-arc
相应的,没开启ARC的工程单独为某文件开启arc,compile flag填
-fobjc-arc
如果你为别人写框架,需要兼容arc、非arc、gc等多模,在代码中可以用预处理判断:
也可以在你全局的pch中加入这个宏
以后判断就
只要把不需要arc的类设置一下就好了 - - 参考这篇文章http://www.yifeiyang.net/development-...
可以借助静态方法操作。
首先这些非ARC的m文件要加上 -fno-objc-arc参数编译
然后还要有一个辅助的类也是-fno-objc-arc的。在这个类中初始化ASIHTTPRequest对象,并且实现delegate方法,注册delegate和应用回调方法。
辅助类中定义静态方法,来发起请求。当请求完成回调delegate的时候,在根据注册的delegate和应用回调,使用 [delegate performSelector:]的方式完成回调。