Compiler and Preprocessor Directives
Compiler and preprocessor directives are special terms in
your program that tell the compiler to perform some Objective-C-specific
action. All compiler directives start with the character @, and preprocessor directives start with
#.
Class Declarations and Definitions
The following compiler directives are used to begin or conclude the declaration and definition of Objective-C classes, categories, and protocols:
-
@interface Begins the declaration of a class’s or category’s fields and methods.
-
@protocol Begins the declaration of a protocol’s methods.
-
@implementation Begins the definition of a class’s methods.
-
@end Ends the declaration or definition of a class’s, category’s, or protocol’s methods.
The use of these compiler directives is described in detail under Section 1.3, and especially in the subsections Section 1.3.2, Section 1.3.6, and Section 1.3.7.
Forward Declarations
The following compiler directives generate forward declarations, informing the compiler that a type exists:
-
@classClassName Forward declaration of a class.
-
@protocolProtocolName Forward declaration of a protocol.
Use forward declarations when an interface uses variables (fields or method parameters or return types) of a given type. Rather than import the header file for that type, you can simply forward reference it. For example:
@classPoint;@interfaceCircle:Graphic{Point*center; // etc. }@end
This is sufficient because the declaration of
Circle does not use any details ...