objective-c

Menyimpan object di appDelegate

Seringkali saya perlu menyimpan suatu object atau variable yang bisa diakses dari manapun, misalnya object berupa score dari suatu games. Tentu saja kita bisa menggunakan property dan mendeclare nya sebagai public di header file suatu class. Tetapi Xcode menyediakan appDelegate yang selalu siap untuk diakses

Pertama declare suatu property di header TRAppDelegate

@property (nonatomic,strong) NSString *nama;

Kemudian untuk mengaksesnya :

Membuat switch case lebih manusiawi

Di dalam objective-c, untuk menggunakan switch-case kita harus memakasi integer sebagai operand nya, misalnya block berikut:

Membuat warna baru di UIColor

pink UIColor

Dalam pemrograman di Xcode, sudah tersedia beberapa definisi warna standar pada UIColor, seperti merah, jingga, kuning, hijau, biru, ungu, dll. Cara menggunakannya juga cukup mudah, cukup panggil class method dari UIColor dengan cara [UIColor redColor] untuk menghasilkan warna merah.

Al Quran dalam Core Data

quran core data xcode

Dahulu kala, saya pernah dikasih sama Oom Hardy, satu file database Al Quran dalam bentuk sqllite. Bagi yang sudah terbiasa bikin query di database programming kayak mysql dll, mungkin bisa langsung coding di Xcode pakai ini database, tapi buat yang ingin menggunakan framework Core Data, perlu sedikit usaha untuk membungkusnya ke dalam NSManagedObject. Iseng-iseng saya konversi database tsb ke bentuk Core Data biar bisa langsung main object-oriented. Saya share di sini mungkin saja ada yang ingin membuat aplikasi berbasis Al Quran, misalnya Tadabbur Quran, dll.

Play sound effect pada games spritekit

Games tanpa sound effect itu seperti games yang nggak ada suaranya! hehe. Tambahkan suara kalau gitu di games kita biar lebih asyik.

Sound atau suara dalam games ada 2 jenis, yaitu sebagai background music atau sebagai sound effect, misalnya bunyi benda jatuh. Sebagai background music akan dimainkan terus menerus (repeat), sedangkan untuk sound effect hanya sekali saja

Menggunakan UIProgressView Untuk Membuat Health Bar

Dalam suatu game, seringkali kita membutuhkan status life atau health dari jagoan kita. Daripada menggunakan angka, akan lebih menarik kalau kita sajikan dalam bantuk gambar bar. Untungnya di UIKit, Xcode sudah tersedia UIProgressView yang bisa kita gunakan untuk keperluan ini

UIProgressView memiliki property progress yang bisa diisi nilainya dari 0 sampai 1 (float). Kita bisa saja menggunakannya untuk progress dari 0 sampai 100%, namun tetap harus dinormalisasi dulu menjadi 0-1 dengan membagi 100 dari progress dalam persen tersebut.

Menampilkan alert menggunakan UIAlertView

Contoh UIAlertVIew

UIAlertView adalah class turunan dari UIView yang bisa kita gunakan untuk menampilkan suatu alert, atau pesan apabila program menemukan suatu kondisi.
Alert ini ditampilkan secara modal dan menghentikan User Interface sampai user mentap salah satu tombol pada alert tersebut.

Tapi jangan salah, walaupun UI terhenti dengan munculnya alertview ini, tapi eksekusi code akan berlanjut sampai menemukan akhir dari block di mana UIAlertVIew ini dipanggil. Hal itu terjadi karena secara default UIAlertView berjalan tidak di main thread.

Permasalahan pada ARC: dealloc terlalu cepat!

Menggunakan ARC pada proyek Xcode memang sangat memudahkan, karena kita "tidak perlu" lagi memikirkan masalah memory allocation, tidak ada lagi dealloc atau release. Namun demikian ada masalah dengan ARC kalau kita tidak paham betul. Yang paling sering muncul adalah suatu object/instance sudah otomatis di release ketika mau digunakan, seperti yang saya sering alami.

Misalnya dalam membuat popoverViewController dan CLLocationManager. Dalam kasus popoverViewController, instance yang baru saja dibuat ketika digunakan menimbulkan error sbb:

Collision dan Contact dalam SpriteKit

collision contact spritekit

Dalam pemrograman games menggunakan SpriteKit, kita akan menemui konsep collision dan contact. Di dalam Xcode 5, untuk iOS 7 sudah tersedia framework SpriteKit yang sudah dilengkapi dengan physics engine yang di dalamnya ada collision dan contact. Kita tidak perlu lagi membuat physics engine sendiri atau menggunakan framework lain seperti cocos2d.

Membuat bilangan random pada objective c

Dalam pembuatan games, kita akan sering menggunakan bilangan random, misalnya untuk menentukan kordinat spawn enemy. Dalam objective c, sudah tersedia fungsi arc4random() yang bisa digunakan. Fungsi ini meghasilkan bilangan random type unsigned int32. Artinya bilangan yang dihasilkan adalah bilangan bulat mulai dari 0 s/d $2^{32}-1$

Halaman

Berlangganan RSS - objective-c