@blog.justoneplanet.info

日々勉強

再帰的にimportをつかう

再帰インポートのお話。

■サンプルコード

便宜上ちょっと無茶なコードです。。。

#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

コメントはまだありません»

No comments yet.

RSS feed for comments on this post.TrackBack URL

Leave a comment