This Cheat Sheet provides some of the main aspects of Objective-C programming, including making a statement, built-in and new data types, operators, and more.
Making an Objective-C statement
Programming iPhone and Mac apps in Objective-C is about making a statement. You can recognize a statement in Objective-C immediately by noting the semicolon at the end:
statement;
You will see other lines of code, but unless the line ends with a semicolon, it is not an Objective-C statement.
Objective-C built-in and new data types
The variables you declare in Objective-C, Objective-C data types, must be a type that the compiler can recognize. Objective-C comes with a number of built-in data types, as well as mechanisms to create new ones, for programming your iPhone or Mac OS X applications.
| Type | Description | Size |
|---|---|---|
| char | A character | 1 byte |
| int | An integer — a whole number | 4 bytes |
| float | Single precision floating point number | 4 bytes |
| Double | Double precision floating point number | 8 bytes |
| short | A short integer | 2 bytes |
| long | A double short | 4 bytes |
| long long | A double long | 8 bytes |
| BOOL | Boolean (signed char) | 1 byte |
Enumeration types
enum typeName { identifier1, ... identifiern};
Identifiers are of constants of type int.
typedef
typedef typeName identifier;
Associates an identifier with a specific type.
Constants
const type identifier = value; #define identifier value
Allows you to define names for constants.
Objective-C operators
Objective-C operators, like those in other programming languages, let you perform operations on variables (hence the name). Objective-C provides many operators, and keeping track of all of them can be difficult as you program your iPhone or Mac OS X apps.
Use the following tables to jog your memory as to which operator accomplishes what task.
| Operator | What It Does |
|---|---|
| + | Addition |
| – | Subtraction |
| * | Multiplication |
| / | Division |
| % | Modulo |
| Operator | What It Does |
|---|---|
| == | Equal to |
| != | Not equal to |
| > | Greater than |
| < | Less than |
| >= | Greater than or equal to |
| <= | Less than or equal to |
| Operator | What It Does |
|---|---|
| ! | NOT |
| && | Logical AND |
| || | Logical OR |
| Operator | What It Does |
|---|---|
| += | Addition |
| -= | Subtraction |
| *= | Multiplication |
| /= | Division |
| %= | Modulo |
| &= | Bitwise AND |
| |= | Bitwise Inclusive OR |
| ^= | Exclusive OR |
| <<= | Shift Left |
| >>= | Shift Right |
| Operator | What It Does |
|---|---|
| ++ | Addition |
| — | Subtraction |
| *= | Multiplication |
| /= | Division |
| %= | Modulo |
| &= | Bitwise AND |
| |= | Bitwise Inclusive OR |
| ^= | Exclusive OR |
| <<= | Shift Left |
| >>= | Shift Right |
| Operator | What It Does |
|---|---|
| & | Bitwise AND |
| | | Bitwise Inclusive OR |
| ^ | Exclusive OR |
| ~ | Unary complement (bit inversion) |
| << | Shift Left |
| >> | Shift Right |
| Operator | What It Does |
|---|---|
| () | Cast |
| , | Comma |
| Sizeof() | Size of |
| ? : | Conditional |
| & | Address |
| * | Indirection |
Control statements and loops
In programming, as in life, you have to make decisions and act on them. Objective-C provides control statements and loops to help your program take action. You may want to repeat a set of instructions based on some condition or state, for example, or even change the program execution sequence.
Here is the basic syntax for Objective-C control statements and loops:
if else
if (condition) {
statement(s) if the condition is true;
}
else {
statement(s) if the condition is not true;
}
for
for (counter; condition; update counter) {
statement(s) to execute while the condition is true;
}
for in
for (Type newVariable in expression ) {
statement(s);
}
or
Type existingVariable ;
for (existingVariable in expression) {
statement(s);
}
Expression is an object that conforms to the NSFastEnumeration protocol.
-
An NSArray and NSSet enumeration is over content.
-
An NSDictionary enumeration is over keys.
-
An NSManagedObjectModel enumeration is over entities.
while
while (condition) {
statement(s) to execute while the condition is true
}
do while
do {
statement(s) to execute while the condition is true
} while (condition);
Jump statements
return ;
Stop execution and returns to the calling function.
break;
Leave a loop.
continue;
Skip the rest of the loop and start the next iteration.
goto labelName; ... labelName:
An absolute jump to another point in the program (don’t use it).
exit();
Terminates your program with an exit code.
Declaring classes and sending messages
Object-oriented programming languages enable you to declare classes, create derived classes (subclass), and send messages to the objects instantiated from a class. This is the essence of object-oriented programming and part of the object-oriented extensions that Objective-C adds to C.
To ensure that everything operates smoothly, compiler directives are available that enable you to inform the compiler of your classes by using @class and #import.
Interface
#import "Superclass.h"
@interface ClassName : Superclass {
instance variable declarations;
}
method declarations
@property(attributes) instance variable declaration;
–d
Implementation
#import "ClassName.h" @implementation ClassName @synthesize instance variable ; method definitions –d
Message Syntax
[receiver message]
#import
#import “filename.h”
Guarantees that a header file will be included only once.
@class
@class ClassName;
Clues the compiler into user defined types.


