【问题标题】:Duplicate interface definition for class 'NSValue'类“NSValue”的重复接口定义
【发布时间】:2014-02-09 12:07:39
【问题描述】:

我在尝试编译我的项目时遇到了一个非常奇怪的错误,我在 NSValue.h 中收到一个错误,提示“类 'NSValue'(和 NSNumber)的接口定义重复。

我尝试过清理和重建,我尝试过使用以下方法清除模块缓存:

rm -rf /Users/me/Library/Developer/Xcode/DerivedData/ModuleCache/*

我已尝试结合上述方法删除和重新添加 Foundation 框架,但仍然出现错误。

发生了什么事?

【问题讨论】:

  • 可能你导入了两次或者你有标题循环。使用#import 而不是#include 来避免此类问题,并且在头文件中使用@class 进行前向声明而不是导入其他头。
  • 你读过这个answer吗?
  • @GrzegorzKrukowski #import 语句(与#include 语句不同)可防止此类错误。
  • @trojanfoe 用于多个导入是的,但对于标头循环,解决方案是执行“@class”前向声明而不是#import。
  • @GrzegorzKrukowski 你多次编辑你的评论,我没有跟上。

标签: ios objective-c xcode


【解决方案1】:

好的,我发现了导致错误的原因:在我的一个文件中

#import <foundation/Foundation.h>

而不是

#import <Foundation/Foundation.h>

(带有大写字母 F)。解决此问题即可解决问题。

【讨论】:

    猜你喜欢
    • 2012-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多