Mengenal Delegation pada Swift

Tak sesulit yang dibayangkan ternyata

Muhammad Ridho K. Pratama
Ridho's Personal Note
2 min readSep 1, 2017

--

gambar diambil dari sini

Pengantar

Biasanya kalau bermain dengan UITableView ataupun UICollectionView yang diletakkan pada UIViewController pasti akan menemui suatu syntax seperti ini…

Untuk bisa berinteraksi dengan tableView tadi, misalkan melakukan suatu aksi tertentu ketika salah satu baris pada tableView telah dipilih maupun akan dihapuskan, maka kita sering kali menggunakan delegation pada tableView supaya bisa melakukan aksi tersebut, tanpa disadari.

Pembahasan

Secara bahasa, delegation atau pendelegasian adalah penyerahan tugas kepada pihak lain. Dalam konteks pemrograman iOS baik menggunakan Swift ataupun Objective-C, pendelegasian disini adalah menyerahkan tugas dari objek tertentu ke objek yang lain, misalkan untuk melakukan suatu aksi terhadap data yang ditampilkan di sebuah UITableView , maka seringkali kita membutuhkan UIViewController sebagai delegasi dari UITableView untuk melakukan aksi tertentu, misalkan memilih salah satu item pada UITableView . Singkatnya seperti itu.

Gambaran/contoh paling sederhana dalam pemanfaatan delegation pada Swift, misalkan menyimulasikan hubungan antara Bos dan Sekretaris dalam pendelegasian untuk mengatur jadwal meeting, secara si Bos terlalu sibuk sehingga tidak sempat mengatur jadwal meetingnya sendiri 😛

Agar si Sekretaris bisa mengatur jadwal meeting, maka kita tentukan dulu gimana si Sekretaris bekerja

Lalu, kita implementasikan protokol tersebut agar si Sekretaris bisa mengatur jadwal meeting…

Klas Bos didefinisikan sebagai berikut, karena dia punya delegasi buat mengatur meeting, maka dia punya attribut delegate misalkan.

Sekarang, kita coba buat Sekretaris dan Bos nya.

Lalu, si Mario menyuruh si Tina supaya bisa mengatur jadwal meetingnya, dan si Mario pun bisa mengatur jadwal meetingnya dengan bantuan Tina.

Recap

Kira-kira begitu gambaran sederhana tentang proses delegation. UITableView , UICollectionView , ataupun yang lain pasti memiliki mekanisme delegation yang cara kerjanya mirip seperti simulasi sederhana diatas. Semoga bermanfaat 😄

--

--