2012-03-11 11 views
2

以前i posted a question in SO、。後で私は新しいプロジェクトを作成し、エラーを再作成しました。ここにはそのことが書いてあります。不明なタイプの試験と未知のタイプAppDelegateエラー

私は不明なタイプ名Examと呼ばれるエラーを取得しています。別の見出しの下に質問があります。しかし、今、私は私が間違っていたものを見つけるために、新鮮なプロジェクトを作成した(ので、私は別の質問を作成し、希望の人は、:)この動きオブジェクト、そして私に私の問題への解決策を提供することはありません)、問題が何であるかを

を見つけました。

私はExamと呼ばれるNSObjectクラスを作成しました。

をAppDelegate.hに追加しました。以下を追加しました。 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 

私は唯一の合成exを持っているので、私はここでそのコードを貼り付けておりません。

は今試験クラス(NSObjectクラス)で、私は次のコードを持っています。すぐに私はここにAppDelegateオブジェクトを作成するよう

#import "AppDelegate.h" 
#import <Foundation/Foundation.h> 

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

@end 

、私はエラーを取得します。

注:私は

#import <Foundation/Foundation.h> 

    @class AppDelegate 

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

    @end 

にARC

答えて

9

変更Exam.hを使用しています、その後@implementation上記ごExam.mをインポートしている現在、この

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

を行いますExam.hのAppdelgate.hとAppDelegate.hの..これは、クラスコンパイルエラーを引き起こします。各クラスが他のクラスを参照するためです。

+0

はい、これは動作します。このエラーの原因を知ることができますか? 3分後に「Accepted」と記入します。 – Illep

+1

このエラーは、ヘッダーの相互参照によって発生しています。読み込みは最初に読み込まれることを意味しますが、そのヘッダーが元のものを参照する場合、コンパイラーはそれをすでに読み込んでいるとみなし、読み込まないでください。だからこそ、@classを使う方が好きです。 –

関連する問題