2011-08-15 7 views
2

私はこれが本当にダムだと確信していますが、なぜこのエラーが発生するのかわかりません。私のプロジェクトでは、ビューコントローラと、データ構造化ジョブを実行する別のクラス(関係なく)を持っています。コンパイルエラーが発生しました:クラス内でインスタンス化しようとしているときに、 ""不明な型名 ""のView Controllerです。他のビューコントローラをインスタンス化する際にエラーが発生しました

これは私のクラスの.hです:

#import <Foundation/Foundation.h> 
#import <MapKit/MapKit.h> 
#import "MyLocationController.h" 
#import "GetZip.h" 
#import "SecondTab.h" 

@interface DataEngine : NSObject <MyLocationControllerDelegate, MKMapViewDelegate, GetZipcodeDelegate> { 

MyLocationController *CLController; 
GetZip *getzip; 
SecondTab *secondTab; //ERROR IS HERE 

} 

私のビューコントローラの.h:

#import <UIKit/UIKit.h> 
#import "FirstTab.h" 
#import "DataEngine.h" 

@interface SecondTab : UIViewController <UITableViewDelegate, UITableViewDataSource> { 

IBOutlet UITableView *table1; 
NSString *address; 
NSDate *time; 
NSDictionary *dataDict; 
    DataEngine *fullData; 

} 

私は、彼らが問題と思ういけないので、(私はすべての@synthesisを省略...どのような場合には、私は@property(nonatomic、retain)をすべてのために行います)。

ここで何が問題になるのでしょうか?

答えて

7

なぜそれを宣言してみてください。 #import secondTabの代わりに@class secondTabを使用しますか?それが問題であれば、円形の包含物を避けるのに役立ちます。

+0

+1ありがとう、Manish。それは仕事をしているようだった!何が間違っていた可能性がありますか? (とにかく@classと#importの違いは?とにかく:/) – TommyG

+1

http://stackoverflow.com/questions/322597/class-vs-import両方のクラスが互いに依存している循環依存関係があったかもしれません。いずれにしても、Tommyは常にこれらの問題を回避するために前方宣言を使用することをお勧めします。 –

+0

今、私は+ init SecondTabを許可するようですが...これは期待されていますか? – TommyG

関連する問題