Objective c 为什么我不能在iOS项目的类中导入协议?

Objective c 为什么我不能在iOS项目的类中导入协议?,objective-c,ios,Objective C,Ios,我创建了一个协议文件“protocol.h”,并尝试用 #import <Foundation/Foundation.h> #import "Protocol.h" #导入 #导入“Protocol.h” 但是,XCode注意到找不到文件“Protocol.h”。为什么不呢?绝对与视图控制器标题位于同一文件夹中。它区分大小写--文件协议.h的大小写是否正确?通常,在视图控制器标题文件中,在@interface行之前,您应该使用: @class Protocol; 而不是: #i

我创建了一个协议文件“protocol.h”,并尝试用

#import <Foundation/Foundation.h>
#import "Protocol.h"
#导入
#导入“Protocol.h”

但是,XCode注意到找不到文件“Protocol.h”。为什么不呢?绝对与视图控制器标题位于同一文件夹中。

它区分大小写--文件协议.h的大小写是否正确?

通常,在视图控制器标题文件中,在@interface行之前,您应该使用:

@class Protocol;
而不是:

#import "Protocol.h"
试试看它是否有效。如果没有,您是否有某种循环标题引用?在这种情况下,有很多关于如何做的提示和建议,请在谷歌上搜索“objective-c循环标题”以获取更多信息


编辑:您可以尝试将#导入行移动到.m文件中,而不是移动到.h文件中。这是一种快速、肮脏的方法,是避免循环头引用的可靠方法。

谢谢,是的,大小写匹配。它只是一个简单的打开文件——您确定它们位于同一文件夹(而不仅仅是同一个Xcode组)中吗。仔细再检查一下。如果仍然存在问题,请尝试重新启动Xcode。谢谢,使用
#导入“myproject/Protocol.h”
工作正常。