iPhone プロジェクトをコンパイルできません。私CType.h
はエラーが発生しています:
'CType' のスーパークラスである 'NSObject' のインターフェイス宣言が見つかりません。
これにより、同じヘッダー ファイルにもある他の多くのエラーが発生します。
これは、プロジェクトの循環参照が原因である可能性があることを読みました。したがって、ヘッダーのインポートの多くを転送宣言に変更しようとしました。まだ前方宣言を行うことができていないものもあります (たとえば、クラスが別のクラスから継承している場合、インポートが必要であり、デリゲートを使用している場合。ただし、おそらくこれを回避する方法があります)。
プロジェクトを何度も検索しましたが、循環参照を見つけることができませんでした。循環参照を見つけるためのヒントやコツはありますか? 私はそれが私と関係があると思っていましたCType
が、そうではないようです。
編集:
これは私のCTypeです:
インターフェース:
#import <Foundation/Foundation.h>
@interface CType : NSObject
/*
* Type ID
*/
@property (nonatomic, assign) NSInteger typeId;
/*
* Type
*/
@property (nonatomic, strong) NSString *type;
/*
* Initialize with type ID and type
*/
- (id)initWithId:(NSInteger)typeId type:(NSString *)type;
/*
* Type with type ID and type
*/
+ (CType *)typeWithId:(NSInteger)typeId type:(NSString *)type;
@end
実装:
#import "CType.h"
@implementation CType
/* Create setters and getters */
@synthesize typeId;
@synthesize type;
/* Initialize with type ID and type */
- (id)initWithId:(NSInteger)_typeId type:(NSString *)_type
{
if (self = [super init])
{
self.typeId = _typeId;
self.type = _type;
}
return self;
}
/* Type with type ID and type */
+ (CType *)typeWithId:(NSInteger)typeId type:(NSString *)type
{
return [[CType alloc] initWithId:typeId type:type];
}
@end