自动释放不允许编译代码

jer*_*rry 2 objective-c ios

我试图将旧代码转换为ARC代码.但是,我在以下行收到构建错误

[[token retain] autorelease];
Run Code Online (Sandbox Code Playgroud)

我按以下顺序得到3个错误:

-'autorelease'不可用:在自动参考计数模式下不可用

- [rewriter]删除未使用的'autorelease'消息是不安全的; 它的接收器可能会被立即销毁

-ARC禁止'autorelease'的显式消息发送

如果我删除此特定行,则代码正确编译

ugh*_*fhw 6

如果这就是全部,那么你可以删除它.该代码声称对该对象的引用,但也表示您不想担心稍后释放,但使用ARC您不必担心它.

我猜测Xcode没有因为缺乏上下文而自动摆脱它.如果它处于一个更常见的位置,例如在一个返回声明中,那么意图是明显的.当它完全是它本身时,它可能是,但可能不是,更复杂的东西.