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:
-
@class
ClassName
Forward declaration of a class.
-
@protocol
ProtocolName
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:
@class
Point
;@interface
Circle
:Graphic
{Point
*center
; // etc. }@end
This is sufficient because the declaration of
Circle
does not use any details ...
Get Objective-C Pocket Reference now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.