Search This Blog

Theme images by MichaelJay. Powered by Blogger.

Blog Archive

Tuesday, January 8, 2019

Mengenal Delegation pada Swift


Pengantar
Setiap kali bermain dengan UITableView atau UICollectionView yang diletakkan pada UIViewController pasti akan bertemu dengan sintaks seperti ini…

self.tableView.delegate = mandiri
Untuk bisa terlibat dengan tableView tadi, misalkan melakukan aksi tertentu kompilasi salah satu baris pada tableView telah dipilih akan dihapuskan, maka kita sering kali menggunakan delegasi pada tableView dapat melakukan aksi tersebut, tanpa disadari.

Mendiskusikanasan
Secara bahasa, delegasi atau pendelegasian adalah penyerahan tugas kepada pihak lain. Dalam konteks pemrograman iOS baik menggunakan Swift maupun Objective-C, pendelegasian di sini adalah tugas dari objek tertentu, misalkan untuk melakukan suatu tindakan terhadap data yang dituntut di UITableView, maka kita perlu UIViewController sebagai delegasi dari UITableView untuk mencari aksi Khusus, misalkan memilih salah satu item pada UITableView. Seperti itu.

Gambaran / contoh paling mudah dalam pendelegasian delegasi pada Swift, misalkan menyumbangkan hubungan antara Bos dan Sekretaris dalam pendelegasian untuk jadwal jadwal rapat, di mana Bos terlalu sibuk sehingga tidak memerlukan jadwal meetingnya sendiri 😛

Agar si Sekretaris bisa mengadakan pertemuan, maka kita tentukan dulu gimana si Sekretaris bekerja

protokol SekretarisDelegate {
 func aturJadwalMeeting ()
}
Lalu, kita menerapkan protokol agar agar Sekretaris dapat dijadwalkan jadwal pertemuan ...

sekretaris kelas: SekretarisDelegate {
 func aturJadwalMeeting () {
  print ("Wah, jadwal bosnya nih 😛")
 }
}
Klas Bos ditentukan sebagai berikut, karena dia punya delegasi buat pertemuan, maka dia punya atribut delegasi misalkan.

kelas Bos {
 // bos bisa ngapain aja sama punya apa dideklarasikan di sini
 // karena si Bos sibuk gak sempat atur rapat, punya delegasi deh
 var delegate: SekretarisDelegate?
}
Sekarang, kita coba buat Sekretaris dan Bosnya.

biarkan mario = Bos ()
let tina = Sekretaris ()
Lalu, si Mario menyuruh si Tina diminta bisa mengatur jadwal meetingnya, dan si Mario pun bisa mengatur jadwal meetingnya dengan bantuan Tina.

mario.delegate = tina
mario.delegate? .aturJadwalMeeting ()
// output: Whoa, aku dijadwalkan jadwal pertemuannya bos nih 😛
Rekap
Kira-kira begitu gambaran sederhana tentang proses delegasi. UITableView, UICollectionView, atau yang lain pasti memiliki delegasi yang cara mirip seperti simulasi sederhana diatas. Semoga Bermanfaat 😄

Contact Us


WE ARE ACCEPTING NEW PROJECTS.

DIAZ IRANIAN
Unicorn indonesia
Startup Indonesia, diaziranian@gmail.com
WA/087784985885
012 5234567