Iphone 未知类型检查和未知类型AppDelegate错误

Iphone 未知类型检查和未知类型AppDelegate错误,iphone,objective-c,Iphone,Objective C,以前,不知道是什么导致了这个错误。后来我创建了一个新项目并重新创建了错误。它是这么说的 我收到一个名为Unknown type nameExam的错误。我有一个问题贴在不同的标题下。但现在我发现了问题所在(因此我提出了另一个问题,希望人们不要反对这一举措,并为我的问题提供解决方案:) 我创建了一个新的项目来找出哪里出了问题 我创建了一个名为Exam的NSObject类 在AppDelegate.h中,我添加了以下内容: #import <UIKit/UIKit.h> #impor

以前,不知道是什么导致了这个错误。后来我创建了一个新项目并重新创建了错误。它是这么说的

我收到一个名为Unknown type name
Exam
的错误。我有一个问题贴在不同的标题下。但现在我发现了问题所在(因此我提出了另一个问题,希望人们不要反对这一举措,并为我的问题提供解决方案:)

我创建了一个新的项目来找出哪里出了问题

我创建了一个名为
Exam
NSObject

在AppDelegate.h中,我添加了以下内容:

  #import <UIKit/UIKit.h>
#import "Exam.h"
@interface AppDelegate : UIResponder <UIApplicationDelegate, UITabBarControllerDelegate>{
   Exam *ex;
}

@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) Exam *ex;
@property (strong, nonatomic) UITabBarController *tabBarController;

@end
只要我在这里创建
AppDelegate
对象,就会得到错误


注意:我正在使用ARC更改检查.h

#import <Foundation/Foundation.h>

    @class AppDelegate

    @interface Exam : NSObject {
       AppDelegate*APP; <-- here i get Unknown type AppDelegate.
    }

    @end

当前,您正在导入Appdelgate.h中的Exam.h和Exam.h中的AppDelegate.h。这使得这两个类在执行自身之前相互导入。。这会导致编译器错误..因为每个类都引用另一个..

是的,这是有效的。我可以知道是什么导致了这个错误吗。我会在3分钟内将问题标记为已接受。感谢您该错误是由于标题相互引用而导致的。导入意味着首先读取该命令,但如果该头引用了原始文件,则编译器认为它已经读取了该文件,而没有访问该文件。这就是为什么更喜欢使用@class。
#import <Foundation/Foundation.h>

    @class AppDelegate

    @interface Exam : NSObject {
       AppDelegate*APP; <-- here i get Unknown type AppDelegate.
    }

    @end
    #import "AppDelegate.h"
// Rest is same
    @implementation ...