Objective-C adalah bahasa pemrograman utama yang digunakan oleh
Apple untuk pengembangan aplikasi di OS X dan iOS. Bahasa pemrograman ini
berorientasi objek dan high-level. Ada beberapa hal yang perlu kita persiapkan
sebelum belajar mengembangkan aplikasi di iOS dengan menggunakan objective-c.
Selain itu, Objective-C adalah bahasa pemrograman native utama
yang dipakai untuk membuat aplikasi Mac. Bahasa ini diextend dari bahasa C yang
menggunakan style dari Smalltalk. Semua syntax untuk operasi non object
oriented hampir sama dengan C, sedangkan untuk operasi object oriented mengimplementasi
dari style Smalltalk. Jadi, sebaiknya anda mempunyai dasar yang cukup dalam
pemrograman bahasa C.
NSString
Di C, variable string
biasanya dideklarasikan sbb:
1 char
*s = "ini adalah string";
Dengan NSString,
menjadi:
1 NSString
*s = @"ini adalah string";
NSString disini adalah
object string.
@”string” akan membuat
sebuah object string, yang bisa langsung diassign ke dalam sebuah variable atau
menjadi argument dalam sebuah function.
Penggunaan Method
Dalam bahasa C atau PHP,
pemanggilan method biasanya dilakukan dengan cara berikut:
1 addressBook.displayNames();
2 addressBook.displayNamesWithPrefix(
prefix );
Berikut caranya dalam
Objective-C:
1 [addressBook
displayNames];
2 [addressBook
displayNamesWithPrefix: prefix];
Jika melihat contoh
diatas, maka format penggunaan method secara keseluruhan bisa disimpulkan
sebagai berikut:
1 [object
method];
2 [object
methodWithInput:input];
Untuk function yang
mengembalikan sebuah nilai, formatnya sama:
1 output
= [object methodWithOutput];
2 output
= [object methodWithInputAndOutput:input];
Selain pemanggilan
function pada sebuah ojbect, kita juga bisa melakukan pemanggilan function pada
sebuah class.
Contoh, pemanggilan
function string dalam class NSString, yang mengembalikan object NSString:
1 NSString*
str = [NSString string];
Ingat, semua variable
object dalam Objective-C bertipe pointer sehingga harus ada simbol asterisk(*)
disebelah kanan object type, kecuali type “id” karena sudah bertype pointer
secara predefined.
Nested Methods
Kita juga bisa
menggunakan method/function sebagai parameter dalam function lain, ini disebut
nested methods.
Contoh:
1 function1
( function2() )
2 stringWithFormat
( format())
result dari function
format() menjadi input/parameter di stringWithFormat().
Di Objective-C, format
penulisannya sebagai berikut:
1 [NSString stringWithFormat:[prefs format]]
Multiple Arguments
Contoh berikut
menggunakan 3 buah argument (string, date dan integer).
1 [ptr
setStr:@"A new test..." andDate:[NSDate date] andInteger:99];
Sebelumnya,
dideklarasikan sebagai berikut:
1 -(void)
setStr:(NSString *)str andDate:(NSDate *)date andInteger:(int)x;
Implementasi dari method
setStr() yang menggunakan tiga argument:
1 -(void)
setStr:(NSString *)strInput andDate:(NSDate *)dateInput
2 andInteger:(int)xInput
3 {
4 [self
setStr:strInput];
5 [self
setDate:dateInput];
6 [self
setX:xInput];
7 }
Bisa dilihat pada saat metode setStr() didefinisikan, kita
menggunakan variable str, date dan x. Tetapi di implementasinya, kita
menggunakan variable strInput, dateInput, dan xInput. Ini karena objective-c
mengharuskan nama variable lokal (pada method) tidak boleh sama dengan nama
variable yang didefinisikan.
Accessors
Semua instance variable secara default adalah private, sehingga
anda harus menggunakan accessors untuk mendapatkan/mengeset nilai pada variable
instance tersebut.
setter:
1 [photo
setCaption:@"Day at the Beach"];
getter:
1 output
= [photo caption];
Catatan penting:
Dimanapun anda melihat
code didalam “square brackets”, berarti anda mengirim sebuah message pada
object atau class.
Sumber : Mark, Dave dan LaMarche,
Jeff. 2009. Beginning iPhone Development. New York : Apress.