以前i posted a question in SO,不知道导致此错误的原因。后来我创建了一个新项目并重新创建了错误。这就是它所说的;
我收到一个名为Unknown type name Exam
的错误。我在另一个标题下发布了一个问题。但现在我发现了问题所在(我创建了另一个问题,希望人们不会反对这一举动,并为我提供解决问题的方法:))
我创建了一个新项目,以找出问题所在。
我创建了一个名为NSObject
的{{1}}类。
我添加了以下内容;
Exam
在AppDelegate.m中的我只有综合 #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
,所以我不会在这里粘贴该代码。
现在在Exam类(NSObject类)中,我有以下代码;
ex
只要我在这里创建#import "AppDelegate.h"
#import <Foundation/Foundation.h>
@interface Exam : NSObject {
AppDelegate*APP; <-- here i get Unknown type AppDelegate.
}
@end
对象,我就会收到错误。
注意:我正在使用ARC
答案 0 :(得分:9)
将 Exam.h 更改为
#import <Foundation/Foundation.h>
@class AppDelegate
@interface Exam : NSObject {
AppDelegate*APP; <-- here i get Unknown type AppDelegate.
}
@end
然后@implementation
以上的 Exam.m 执行此操作
#import "AppDelegate.h"
// Rest is same
@implementation ...
目前你在App.hgate.h中导入了Exam.h,在Exam.h中导入了AppDelegate.h。这使得两个类在执行之前互相导入..这会导致编译错误..因为每个类都引用另一个..