为了账号安全,请及时绑定邮箱和手机立即绑定

禁用某些文件的自动引用计数

禁用某些文件的自动引用计数

iOS
叮当猫咪 2019-12-02 04:00:45
我已经下载了iOS 5 SDK,并发现ARC是新Apple编译器的一项强大功能。目前,许多第三方框架不支持ARC。我可以使用ARC作为新代码并保持当前的保留/发布代码不变吗?ARC转换器在这里不起作用,因为某些框架(例如JSONKit)无法使用该转换器转换为ARC。编辑:答案是将-fno-objc-arc不需要ARC的文件添加到编译器标志中。在Xcode 4中,您可以在目标->构建阶段->编译源代码下执行此操作。
查看完整描述

3 回答

?
UYOU

TA贡献1878条经验 获得超4个赞

公开的ARC文档虽然在这一点上尚不明确,但似乎建议,只要每个类都是全部ARC或所有手动管理的类,就可以将这些类集成到单个程序中。


您只能将ARC和非ARC混为一类。的文件说,发送retain,release,autorelease,或retainCount通过任何手段(包括计时器和延迟进行,其使用消息@selector)在ARC代码禁止。因此,您不能在ARC类中执行非ARC(因为禁止了必要的消息),并且您不能在非ARC类中执行ARC(因为ARC添加了没有ARC时无效的语法元素)。


关于是否可以将非ARC库/框架集成到ARC程序中,同一文档更加清晰:是。它没有提到您是否可以在所有代码都不为ARC的程序中使用ARC库/框架,但是鉴于以上所有内容,其含义似乎是肯定的。



查看完整回答
反对 回复 2019-12-03
?
慕的地10843

TA贡献1785条经验 获得超8个赞

如何禁用多个文件上的ARC并不是很直观,一段时间以来,我一直一步一步地进行操作,直到弄清楚该如何做。

  1. 在Xcode的“目标/构建阶段/编译源”中选择所需的文件(CMD +单击或Shift +单击)

  2. 按ENTER(双击将重置选择,因此它不起作用)

  3. 输入-fno-objc-arc

  4. 按Enter或完成



查看完整回答
反对 回复 2019-12-03
  • 3 回答
  • 0 关注
  • 508 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信