人生ずっと勉強

人生ずっと勉強ですね。 https://twitter.com/KiyotakaGoto

objective-c で前方宣言する方法と使いどき

詳解 Objective-C 2.0 第3版より。

宣言方法

@class Hoge;

@interface Fuga : NSObject

使いどき

  • クラス名を型としてだけ使い、ヘッダファイルの読み込みのオーバヘッドを抑えるとき
  • 複数のインタフェースが互いのクラス名を使っていて、インポートだけでは解決できないとき。
#import "B.h" // ここを @class B; とする

@interface A : NSObject {
    B *b;
}
@end
#import "A.h" // ここを @class A; とする

@interface B : NSObject {
    A *a;
}
@end