【问题标题】:Getting Rid False Warning After Upgrading to ARC升级到 ARC 后摆脱错误警告
【发布时间】:2012-05-25 03:35:33
【问题描述】:

升级到 ARC 后,收到一堆错误警告

这些是:

将保留对象分配给不安全的属性;赋值后对象会被释放

对象使用默认属性会发生什么,我们知道 ARC 中的默认值是保留

未指定“assign”、“retain”或“copy”属性 - 假定为“assign”

如果没有分配保留或复制默认是保留会发生什么

看起来这是 Xcode4.3 中的一个错误,根本没有考虑到更改。

我只是想摆脱警告以免弄乱我的程序我该怎么做?

【问题讨论】:

  • 只需使用__strong明确声明为强
  • 这是一个很好的答案。我需要更好的答案。不涉及我更改数百行代码的东西。不过,如果您将其作为答案并且没有其他答案,那么它将是我选择的答案。
  • 实际上我可以通过搜索和替换轻松声明它的强大
  • 在相关说明中,当我的一个配置设置为关闭 ARC 时,我收到此错误 - 而其他配置(如调试/发布)已打开。自动转换并未对所有配置都设置为 ON。

标签: objective-c xcode4.3


【解决方案1】:

从 LLVM 3.1 开始,所有权隐含为 strong(如 LLVM ARC documentation 中所述)。因此,在 Xcode 的下一个版本中,错误消息应该会消失。我现在会添加 strong 修饰符(这样属性就不会获得 assign 所有权),稍后当 Xcode 包含 LLVM 3.1 时将其删除。

【讨论】:

    猜你喜欢
    • 2016-07-24
    • 1970-01-01
    • 1970-01-01
    • 2016-01-15
    • 1970-01-01
    • 2016-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多