RxSwift : Mengawasi Observable Property di Semua Element Array Secara Bersamaan dengan Observable.combineLatest()
Judul yang panjang, tapi saya tidak menemukan judul yang lebih baik untuk pikirkan oleh programmer pemula dengan kasus yang sama kecuali keyword di atas. Jadi saya berharap dengan judul yang panjang namun jelas maka tujuan dari artikel ini telah didefinisikan sejak awal.
> Clarity over brevity
Just like Swift ways!
Kasus :
Seperti yang saya katakan tadi, kasus saya dapat disimpulkan oleh judul dengan cepat. Saya memiliki array dari sebuah objek yang memiliki property observable. Dan saya ingin agar setiap perubahan dari property tersebut akan di sebarkan ke setiap observer yang mengawasinya.
The problem is, dari yang saya pahami sebelumnya, satu observer mengawasi satu observable sampai saya menemukan Observable.zip atas bantuan seseorang. Case closed? Absolutely no. Saya hanya tahu bahwa dengan operator zip saya bisa menggabungkan dua observable source dan menyebar eventnya bersamaan. Jika kamu sedang dalam kasus mencari solusi atas problem cara menggabungkan dua observable maka zip adalah solusi pertama. You must know it ever exist to the life!
Tapi yang saya inginkan adalah saat salah satu property di element berubah, maka dengan zip, event tersebut tidak akan disebarkan karena zip akan mengabaikan stream yang tidak punya pasangan. Lihat RxMarble!
So then combineLatest
comes to save you!
Dengan combineLatest() maka saat salah satu observable menyebarkan event, maka event tersebut akan dibungkus bersama event terakhir dari observable lain. Lihat RxMarble!
Easy peasy! Sekarang anda punya solusi untuk mengawasi setiap property element dari array untuk data source tableView yang terus menerus berubah. RxSwift? You’re the rock!
Snippet?