@class GSValue;
@interface GSValue : NSObject // Help the compiler
@end
@class GSNonretainedObjectValue;
@interface GSNonretainedObjectValue : NSObject // Help the compiler
@end
the above code from NSValue.m . i google and giving me some info, it indicate that @class(not accompanying with @interface) used for class forward declaration between two classes,but only declared as a pointer of the class. my question is why "@class GSValue;" immediately followed by "@interface GSValue:NSObject",what's the meaning?