iOS条件编译之判断当前编译环境是不是arc

 我来答
帜伟谡烙
2017-01-03 · 超过47用户采纳过TA的回答
知道答主
回答量:89
采纳率:0%
帮助的人:21.8万
展开全部
一开始我觉得ARC真他X是个好到爆的东西,因为本人从C++年代就特别不喜欢做dealloc之类的事情,导致在刚开始进行iOS开发的时候常年因为各种忘记写release导致程序崩溃……当时为了这个,我甚至潜行研究xcode内置的脚本功能,希望能代替我自动写release……现在想起来当时真是懒到爆……不过在正式使用ARC之后,各种各样的问题就出现了……首先,和非ARC代码混用问题。前段时间我在写一个微博客户端,写道某个阶段的时候,突然发现底层实现不能出现了不能预测的崩溃,经过几个晚上的通宵研究之后,我发现那就是傻叉ARC和非ARC代码混用问题。网上很多人说对于非ARC代码,只需要在编的时候加上那啥-FOBJ-ARC啥的就好了,实际上不是的!因为加上这个代码之后,一旦你的程序中有ARC和非ARC这两个CLASS之间交互的时候,就会莫名的出现内存泄露!而且泄漏得莫名其妙……最终解决方案只能重写其中一个class以保证两者均为ARC或者非ARC……然后,我要说一下那个该死的_weak……这货,说实在话,我已经用了很长一段时间了,不过还是比较不放心……不,非常不放心才对。最主要原因是:这货的release位置不可判断……不知道是不是因为我程序function太多的原因,根据监测,那个class里面的一个weakA的消灭位置是不定的……在我读懂苹果官方文档之前,我只能把那货给列为一个不确定变量了……现在为了程序稳定暂时用以个永远不释放的strongA来做的处理……说实在……真有那么一瞬间……就那一瞬间……我好怀念没有ARC的年代……最后关于内存泄露,这个我只能呵呵了,我这边某个程序,在uiviewclass下面添加一个uiscrollview和一个uiimageview之后必定会出现各种内存溢出……至今不理解为啥会这样……哪怕两个变量里面都是空,还是会报内存不足……这个项目还有一周交工,所以我……非常紧张……===========体内酒精含量:0.4%===========上面说了很多,大部分都是废话……给自己跪一个,然后码代码去……===========走之前===========狼大人你作为iOS开发专业人士不给个答案么?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式