Learning Objective-C

| | Comments (0) | TrackBacks (0)
During the past week or so, I've been hacking away on iPhone native app dev. It's been a challenge, as I have very little experience with C, C++, much less obj-c. This entry is more a list of points that have helped me become comfortable than anything else - mostly gleaned from the docs put out by Apple.

File extensions
.h header files contain class, type, function, and constant declaration
.m source files contain obj-c and c code

use #import to include header files in source code - they will load files only once (as opposed to #include)

Strings
NSString* myString = @"My String";

Classes
defined in two parts:
interface (declares methods and instance variables, defines superclass)
@interface ClassName : ItsSuperclass 
instance variable declarations 
method declarations 
@end 
implementation (defines the class, contains the meat)
@implementation ClassName : ItsSuperclass 
instance variable declarations 
method definitions 
@end 

Methods
The names of methods that can be used by class objects, class methods, are preceded by a plus sign
+ alloc;
The methods that instances of a class can use, instance methods, are marked with a minus sign: 
- (void)display;

Messaging
think of objects as actors
instead of calling an objects methods, send a message to an object requesting it to perform one of its methods and ask for a return
concentrate on behavior

to send a message:

[receiver message]
to recieve:
objc_msgSend(receiver, selector) 
... and with arguments:
objc_msgSend(receiver, selector, arg1, arg2, ...) 


Categories

, ,

0 TrackBacks

Listed below are links to blogs that reference this entry: Learning Objective-C.

TrackBack URL for this entry: http://hyperradiant.net/MT-4/mt-tb.cgi/223

Leave a comment

About this Entry

This page contains a single entry by Alex published on April 21, 2008 2:36 PM

Notes from iPhoneDevCampNYC InterfaceBuilder session was the previous entry in this blog.

Upcoming Events is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.