2012-04-02 7 views
0

iOSプロジェクトのAppDelegateのメソッドにアクセスするために、同じプロジェクトの別のヘッダファイルに# "AppDelegate.h"をインポートしようとしています。iOS:AppDelegate.hを別のヘッダファイルに含めると、Xcodeコンパイラでエラーがスローされる原因は何ですか?

だから、私のヘッダファイルには、次のようなものになります」とすぐに私は#IMPORTとして、しかし

MyAppDelegate* appDelegate = (MyAppDelegate*)[UIApplication sharedApplication].delegate; 
[appDelegate doSomething]; 

: の#import

#import "DataProvider.h" 
#import "MyAppDelegate.h" 

@interface MyViewController : UIViewController <UITextFieldDelegate, UIAlertViewDelegate> { 
... 
} 

をし、私はこのように私AppDelegateを使用したいですMyAppDelegate.h "のように、コンパイラは多くの(無関係の)エラーをスローします。

Cannot find interface declaration for 'MyOtherViewController', superclass of 'MyOtherViewController2' 

問題は次のとおりです。AppDelegateをほかのヘッダーに含めても問題ありません。その違いが何であるかは分かりません。何が原因か分かりませんか?どうもありがとう!

PS:これはGCCと新しいLLVMで発生します。

+0

MyAppDelegate.hを投稿できますか? – giorashc

答えて

5

#importを.mファイルに移動します。 .hにMyAppDelegateシンボルが必要な場合は、代わりに@class MyAppDelegate;を使用してください。

+0

@cit:私はこの答えがあなたの問題を絶対に解決すると信じています:) –

+0

それはうまくいった!どうもありがとう! – cit

+0

今、ヘッダーの#importがコンパイラを野生にさせたのはなぜですか?ちょっと好奇心... – cit

関連する問題