Objective c #导入正在加倍接口定义并导致错误

Objective c #导入正在加倍接口定义并导致错误,objective-c,Objective C,我有两个类:requisiongetdetails和requisionrelease。在.m文件中导入USAdditions.h 现在在类文件中:ReqDetailViewController.mI#import requisiongetdetails.h和RequisitionRelease.h当我编译时,我会得到USAdditions.h中定义的所有对象的重复接口定义 我只使用#import。我的代码中没有包含任何内容。我以为import应该处理这样的重复定义。 如果我将#import re

我有两个类:
requisiongetdetails
requisionrelease
。在.m文件中导入USAdditions.h

现在在类文件中:
ReqDetailViewController.m
I
#import requisiongetdetails.h
和R
equisitionRelease.h
当我编译时,我会得到USAdditions.h中定义的所有对象的重复接口定义

我只使用
#import
。我的代码中没有包含任何内容。我以为import应该处理这样的重复定义。 如果我将
#import requisionrelease.h
注释掉,重复的错误就会消失,这告诉我编译器会通过另外两个类两次从
useditions.h
中提取定义,但不会忽略DUP

我对导入工作原理的理解是否错误?有没有办法解决这个问题?
我看到过一些类似的帖子,但没有一个解决方案适用于我或对我有帮助。

您是否确定导入的是
.h
文件而不是
.m
文件

如果导入
#
.m
文件,编译器几乎复制粘贴整个文件,从而重新定义方法和类


在过去,我曾经被它这样咬过。

除了Benoit的答案,你的.h文件中有
@实现吗?如果是这样,那么您将在两个翻译单元中定义(而不仅仅是声明)类。类定义最终会出现在两个.o文件中,链接时,会得到重复的定义


头文件应该只包含声明,而不包含定义。

检查类中的每个.h,确保没有导入.h也要导入的类。