【问题标题】:Xcode Objective-C all properties displaying a warningXcode Objective-C 显示警告的所有属性
【发布时间】:2014-08-26 18:56:10
【问题描述】:

这真的很奇怪。突然之间,我的 xcode 项目对我声明的几乎所有属性都显示了警告。

我正在使用 Xcode 5.1.1 为 Mac OS 构建应用程序。

我没有指定任何属性,因为我知道默认值是强引用。但是现在突然间我收到了所有警告。

我会做些什么来触发这个?直到几分钟前,这些警告才出现。我不想为每个属性声明属性 - 只有那些我不想成为强引用的属性。

对于隐式分配或原子属性,它不会给我警告。

我附上了截图。

有什么想法吗?是否存在意外开启的构建设置?

会不会是某个文件中的某些内容开始触发所有这些警告?像某种循环引用?

编辑:这是一个 ARC 项目。

编辑:我找到了问题的根源:我有一个非弧文件(-fno-objc-arc),包括一个弧文件。有人知道如何正确处理吗?

【问题讨论】:

  • 你必须给一个属性一个保留或复制属性。
  • 我以前没有遇到过这种情况。我正在查看我构建的另一个项目,但它并没有给我所有这些警告。

标签: objective-c xcode properties automatic-ref-counting


【解决方案1】:

我发现我在非 ARC 文件 (-fno-objc-arc) 中包含了一个 ARC 文件。包含的文件是 AppDelegate.h 文件,其中包含许多其他内容。因此,当编译非 ARC 文件时,它包含了所有这些 ARC 文件,然后触发了警告。

【讨论】:

    【解决方案2】:

    在您的构建设置中,检查Other Warning Flags 选项,看看里面是否有东西。检查其他标志选项以防万一。

    您可能有诸如 -Weverything-Wobjc-property-no-attribute 之类的东西打开了默认情况下或您的其他项目中没有的其他警告。

    【讨论】:

      【解决方案3】:

      如果它是一个 Objective C 对象并且您没有使用 ARC,则您必须提供 retaincopyweakstrong 属性。有关更多信息,请参阅此问题:Objective C - Assign, Copy, Retain

      【讨论】:

      • 我使用的是 arc。
      • @gngrwzrd 给它强大然后
      • @Milo 但strong 是 ARC 下对象属性的默认值。
      猜你喜欢
      • 2017-02-01
      • 2011-03-31
      • 2015-06-14
      • 2018-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多