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. |
If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.
Ask your questions, our development team will try to give answers to your questions.
Ask Questions? Discuss: Objective-C keywords View All Comments
Post your Comment