Difference between revisions of "Objective-C"
From Wikicliki
Line 15: | Line 15: | ||
== Basics == | == Basics == | ||
=== Data types in Objective-C === | === Data types in Objective-C === | ||
− | * int (integer) | + | * int (integer) [ObjC NSNumber] |
− | * unsigned int | + | * unsigned int [ObjC NSNumber] |
− | * float (floating point number) | + | * float (floating point number) [ObjC NSNumber] |
− | * double (double precision) | + | * double (double precision) [ObjC NSNumber] |
− | * char (a, b, c) | + | * char (a, b, c - single character) |
* string ("a string") | * string ("a string") | ||
* bool (true/false) | * bool (true/false) | ||
+ | * arrays (NSArray) | ||
+ | * key value pair (eg: courseName = iOS) | ||
+ | |||
+ | <pre>operators still apply as expected | ||
+ | == check if equal | ||
+ | || or | ||
+ | && and | ||
+ | </pre> | ||
+ | |||
=== Initialisation === | === Initialisation === | ||
* int myInteger; | * int myInteger; | ||
Line 77: | Line 86: | ||
%Lf long double | %Lf long double | ||
</pre> | </pre> | ||
+ | |||
+ | |||
== See also == | == See also == |
Revision as of 03:11, 2 March 2013
Objective-C is a superset of C language and it is called objective-c because it is a object-oriented language.
On 2 March 2013, I attended to a course "Become a NSZombie, Introduction to iOS" at Plug-In@Blk71 in Singapore, Singapore.
Contents
What one needs in order to program in Objective-C
- Source Code Editor (Xcode)
- Compiler (Xcode)
- Program to design the interface (Interface Builder - which is now built into Xcode)
- iOS simulator (simulate apps)
- Debuggers (Instruments - monitor performance)
Get Xcode
Basics
Data types in Objective-C
- int (integer) [ObjC NSNumber]
- unsigned int [ObjC NSNumber]
- float (floating point number) [ObjC NSNumber]
- double (double precision) [ObjC NSNumber]
- char (a, b, c - single character)
- string ("a string")
- bool (true/false)
- arrays (NSArray)
- key value pair (eg: courseName = iOS)
operators still apply as expected == check if equal || or && and
Initialisation
- int myInteger;
- int myInteger = 42;
- int myInteger, myInteger2, myInteger3;
Operators
- operators - as normally expected except there is also "modulo"
- % - result will be the remainder from the integer division of the 1st by the 2nd
- (only for int or long, insert some caveat here about floats and doubles and using fmod)
- eg: int moduloResult = a % b;
NSLog
String Formatters for the trace/nslog:
Hello World
NSLog(@"Hello World!");
Commenting
//commenting /* a really long comment */
Debugging Variables
NSLog(@" a %% b = %i", c) c = b % a;
int myNum = 7; NSString *myString = @"Dog"; NSLog(@"The number is %i and the string is %@.", myNum, myString);
If you want a % sign you have to put in %%.
NSLog(@"%@", [NSNumber numberWithInt:i]); %@ Object %d, %i signed int %u unsigned int %f float/double %1.2f to specific number of decimals %x, %X hexadecimal int %o octal int %zu size_t %p pointer %e float/double (in scientific notation) %g float/double (as %f or %e, depending on value) %s C string (bytes) %S C string (unichar) %.*s Pascal string (requires two arguments, pass pstr[0] as the first, pstr+1 as the second) %c character %C unichar %lld long long %llu unsigned long long %Lf long double