#import
@class Tire;
@class Engine;
@interface Car : NSObject
{
Tire *tires[4];
Engine *engine;
}
- (void) setEngine: (Engine *) newEngine;
- (Engine *) engine;
- (void) setTire: (Tire *) tire
atIndex: (int) index;
- (Tire *) tireAtIndex: (int) index;
- (void) print;
@end // Car
如果有循環依賴關係,@class也很有用,即,A類使用B類,B類也使用A類。如果試圖通過#import語句讓這兩個類相互引用,那麼最後就會出現編譯錯誤,但是如果在A.h中使用@classB,在B.h中使用@classA,那麼這兩個類就可以相互引用了。
這樣做的好處是:會減少#import帶來的變異錯誤,並且速度也快