Objective-C: dyrektywa @class przed @interface?

Jaka jest różnica między tymi dwiema deklaracjami klasowymi? Nie rozumiem dlaczego @class jest tutaj używany. Dzięki.

@class TestClass;

@interface TestClass: UIView {
    UIImage *image1;
    UIImage *image2;
}

i

@interface TestClass: UIView {
    UIImage *image1;
    UIImage *image2;
}