Xcode ARC(自动参考计数)“;“无法发布”;

Xcode ARC(自动参考计数)“;“无法发布”;,xcode,cocoa,automatic-ref-counting,Xcode,Cocoa,Automatic Ref Counting,这是我第一次使用Xcode,当时我正在关注一个在线视频。 我做了所有的事情,但我担心这太过时了 我遇到的错误是: [font_attributes release]; “释放”不可用:在自动引用计数模式下不可用 ARC禁止发送“释放”的明确消息 我对Cocoa和Xcode的了解有限,但我仍然希望扩大我的学习范围 如何解决ARC问题?您有两个选择: 1) 关闭此项目的圆弧。 这是通过在项目页面目标的“构建设置”选项卡中将“Objective-C自动引用计数”设置为“否”来实现的 2) 删除所有

这是我第一次使用Xcode,当时我正在关注一个在线视频。 我做了所有的事情,但我担心这太过时了

我遇到的错误是:

[font_attributes release]; 
“释放”不可用:在自动引用计数模式下不可用

ARC禁止发送“释放”的明确消息

我对Cocoa和Xcode的了解有限,但我仍然希望扩大我的学习范围

如何解决
ARC
问题?

您有两个选择:

1) 关闭此项目的圆弧。 这是通过在项目页面目标的“构建设置”选项卡中将“Objective-C自动引用计数”设置为“否”来实现的

2) 删除所有
retain
release
autorelease
NSAutoReleasePools
retainCount
调用,因为ARC会为您进行调用。除了
NSAutoReleasePool
s之外,它们已被
@autorelease{}
替换

第二个选项已由苹果自动化。

提供的两个选项是处理
ARC
不兼容的有效方法。但是,您还有第三个选择。禁用特定文件的
ARC

将标志
-fno objc arc
赋予非
arc
兼容的编译源,会在编译时有效地标记它们


您可以在
Targets
→ <代码>你的应用程序→ <代码>构建阶段→ <代码>编译源代码

可能的重复:这是由于当前版本的Xcode启用了所有新项目的自动引用计数。ARC在Xcode 4.2中是新的,旧的教程将假定您使用的是手动引用计数。@NJones的答案有一个修正。关于选项#2,在菜单项“编辑->重构”下,有一个选项可以让XCode为您转换项目。在特定文件上进行“删除弧”的操作要简单得多。(看我的答案)好的!适用于没有ARC+1的第三方建筑,即使在2016年也是如此。这是最好的答案!