【问题标题】:Convert ARC code to non-ARC将 ARC 代码转换为非 ARC
【发布时间】:2013-08-12 05:32:44
【问题描述】:

我正在努力让现有的支持 ARC 的控件在 Xcode 4.2 (OSX Snow Leopard) 下运行,在一个不支持 ARC 的项目中,我面临着各种问题:

我应该如何解决以下问题?

  • 在属性中使用(strong)
  • 在属性中使用(nonatomic)
  • 未找到实例方法(未在接口中声明)
  • 启用新型 Objective-C

另外,它似乎在抱怨 NSScrollerKnobStyle 没有被定义。这是 10.8 到 10.6 SDK 特有的问题吗?


附:我使用的控件是ITSidebar

【问题讨论】:

    标签: objective-c cocoa automatic-ref-counting


    【解决方案1】:

    您必须将这些 strong 属性更改为 retaincopy,视情况而定。 nonatomic 在非 ARC 代码中没有任何问题。

    您可能必须为您的属性添加@synthesize 指令,以使编译器添加访问器方法。 @synthesize 是最新编译器中的默认值。

    该语言还有许多其他更改,例如对象文字。它们都有据可查;你只需要反向应用它们。

    我不确定NSScrollerKnobStyle,但如果您查找它,文档会告诉您它是何时引入的。

    【讨论】: