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. |


