Objective-C keywords
Here in this section we will know
about the keywords used in objective-C language.
Directives used to declare and define classes, categories and protocols:
Directive | Definition |
@interface | used to declare of class or interface. |
@implementation | used to define a class or category. |
@protocol | used to declare a formal protocol. |
@end | ends the declaration, definition, category or protocol. |
Directive used to specify the visibility of the instance. Default is @protected.
Directive | Definition |
@private | Limits the scope of an instance variable to the class that declares it. |
@protected | Limits instance variable scope to declaring and inheriting classes. |
@public | Removes restrictions on the scope of instance variables. |
Exception handling directives.
Directive | Definition |
@try | Defines a block within which exceptions can be thrown. |
@throw | Throws an exception object. |
@catch | Catches an exception thrown within the preceding @try block. |
@finally | A block of code that is executed whether exceptions were thrown or not in a @try block. |
Directive used for particular purpose.
Directive | Definition |
@class | Declares the names of classes defined elsewhere. |
@selector(method_name) | It returns the compiled selector that identifies method_name. |
@protocol(protocol_name) | Returns the protocol_name protocol (an instance of the Protocol class).
(@protocol is also valid without (protocol_name) for forward declarations.) |
@encode(type_spec) | Yields a character string that encodes the type structure of type_spec. |
@"string" | Defines a constant NSString object in the current module and initializes the object with the specified 7-bit ASCII-encoded string. |
@"string1" @"string2" ... @"stringN" |
Defines a constant NSString object in the currentmodule. The string created is the result of concatenating the strings specified in the two directives. |
@synchronized() | Defines a block of code that must be executed only by one thread at a time. |
Some keywords of Objective-C are not
reserved outside. These are?..
in | out | inout | bycopy |
byref | oneway |
Keyword for memory management in
Objective-C
These are looking as keywords but infact these are methods of root
class NSObject.
alloc | retain | release | autorelease |
Some other
keywords:
1. bool is a keyword used in objective-C but its value is here YES or
NO. In C and C++ it has value either TRUE or FALSE.
2. 'super' and 'self' can
be treated as keywords but self is a hidden parameter to each method and super
gives the instructions to the compiler that how to use self differently.
Preprocessor Directives
The preprocessor directives are special notations:
Directive | Definition |
// | This is used to comment a single line. |
#import | Like C and C++ it is used to include a file but it doesn't include more than once. |