【问题标题】:Property Has a Previous Declaration财产有先前的声明
【发布时间】:2014-12-10 18:08:25
【问题描述】:

我尝试将 XMPP 框架添加到我的 ios 项目中,但无法正常工作。原来我添加的不正确,所以我尝试删除它,现在没有 XMPP 我收到以下错误: 提前致谢!

【问题讨论】:

  • 有没有一种方法可以使图像变大或将其中的文本复制到您的消息中? (或者:“这是什么,ANTS 的截图?!”)
  • 对此有点抱歉!

标签: ios objective-c xmpp afnetworking


【解决方案1】:

我认为这不会回答您的具体问题,但对于通过 Google 来到这里的其他人来说,在我的情况下,问题是由自定义框架中嵌入类的名称冲突引起的。会导致此类错误的代码示例:

public class Car: NSObject {
    public class Wheel: NSObject {
    }
}

public class Truck: NSObject {
    public class Wheel: NSObject {
        // "Wheel" class is duplicated and even though it's embedded in another class,
        // it will still result in a collision in a ".h" file
    }
}

我实际上不确定从 NSObject 继承是否会改变这里的任何内容。

【讨论】:

    【解决方案2】:

    错误是您的接口类的接口定义重复。这是为我工作duplicate interface declaration for class。不知何故,您设法两次导入 .h 文件。检查以确保您始终使用#import 而不是#include。

    【讨论】:

      【解决方案3】:

      当我将整个 XCode 项目复制并粘贴到另一个位置并在那里打开它时,我遇到了同样的问题。可能与项目设置和类的默认路径有关。尝试创建一个新项目并将每个类单独复制并粘贴到正确创建的新项目中。

      【讨论】:

        【解决方案4】:

        其中一个原因是您有重复的 .h 或 .m 文件。
        临时解决方法是在 Xcode 中选择您的项目,右键单击并点击“在 Finder 中显示”。
        搜索出现错误的文件。
        您将找到两个同名的文件。
        只需删除一个即可。

        【讨论】:

          【解决方案5】:

          我在将类从 Obj-c 重构为 Swift 后遇到此错误,虽然类名称不同但方法名称保持不变,因此导致“属性具有先前声明”错误。但只有当我尝试在不同的目标上运行应用程序时。

          所以我只是从项目中删除重构的类并清理项目,这为我解决了问题。

          【讨论】:

            【解决方案6】:

            这可能是由于添加了多个相同的属性

            【讨论】:

              【解决方案7】:

              这也可能因为CocoaPods 而发生。我在cocoapods-0.39.0 版本中遇到了这个问题,现在降级到cocoapods-0.38.2 修复了它。

              【讨论】:

              • 这对我也起到了作用(将我的头撞到桌子上 6 小时)。你能解释一下你是怎么想出来的,这样我们就可以在 Github 上打开一个问题吗?我还没有看到这个报道。
              • 这里一样...尝试了几个小时...而不是降级到 0.38.2 并且运行良好
              • 降级前有什么特别的事情吗?我似乎和你有同样的问题,但几天以来都无法解决。我按照此处的说明降级到 0.38.2,但这并不能解决问题:stackoverflow.com/questions/20487849/… 我还重新克隆了项目并重新安装了 XCode。
              • @JWKothe 确保您还清理了项目并删除了派生数据。我仍在调查中,会尽快提交问题。
              • @Antoine 是的,删除派生数据最终为我解决了问题。我花了好几天才弄明白。
              【解决方案8】:

              您的项目中有两个 AFNetworking 副本。删除其中一个。

              ...或者更好的是,使用 CocoaPods 将 AFNetworking 和您的 XMPP 框架集成到您的项目中。

              【讨论】:

                猜你喜欢
                • 2012-01-24
                • 1970-01-01
                • 2014-10-19
                • 1970-01-01
                • 2018-02-19
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多