相关疑难解决方法(0)

找不到协议声明

我有两个对象,都是视图控制器.第一个(我称之为viewController1)声明了一个协议.第二个(不出所料我将命名viewController2)符合这个协议.

XCode给我一个构建错误:'找不到viewController1的协议声明'

我已经看到关于这个主题的各种问题,我确信这是一个循环错误,但我只是在我的情况下看不到它...

代码如下..

viewController1.h

@protocol viewController1Delegate;

#import "viewController2.h"

@interface viewController1 {

}

@end

@protocol viewController1Delegate <NSObject>

// Some methods

@end
Run Code Online (Sandbox Code Playgroud)

viewController2.h

#import "viewController1.h"

@interface viewController2 <viewController1Delegate> {

}

@end
Run Code Online (Sandbox Code Playgroud)

最初,我在viewController1中的导入行高于协议声明的导入行.这阻碍了项目的建设.在SO上搜索之后,我意识到了这个问题,然后切换了两条线.我现在收到警告(而不是错误).该项目建设良好,实际上运行完美.但我仍然认为发出警告肯定有问题.

现在,据我所知,当编译器到达viewController1.h时,它首先看到的是协议的声明.然后它导入viewController.h文件并看到它实现了这个协议.

如果它反过来编译它们,它将首先查看viewController2.h,它首先要做的是导入viewController1.h,其第一行是协议声明.

我错过了什么吗?

iphone delegates protocols objective-c ios

26
推荐指数
1
解决办法
4万
查看次数

标签 统计

delegates ×1

ios ×1

iphone ×1

objective-c ×1

protocols ×1