再帰インポートのお話。
■サンプルコード
便宜上ちょっと無茶なコードです。。。
#import <Foundation/Foundation.h> #import "Child.h" @interface Parent : NSObject { } @end
以下のようにして継承する。
#import <Foundation/Foundation.h> #import "Parent.h" @interface Child : Parent { } @end
ビルドしようとすると以下のエラーが表示される。
Cannot find interface declaration for ‘Parent’, superclass of ‘Child’
■解決策
#import <Foundation/Foundation.h> @interface Parent : NSObject { } @end #import "Child.h"
#import <Foundation/Foundation.h> #import "Parent.h" @interface Child : Parent { } @end
その場しのぎの策に走ってました。ちゃんとやるんだったら以下のように設計を改める。
#import <Foundation/Foundation.h> @interface Parent : NSObject { } @end
#import <Foundation/Foundation.h> #import "Parent.h" @interface Child1 : Parent { } @end
#import <Foundation/Foundation.h> #import "Parent.h" @interface Child2 : Parent { } @end