İçeriğe geç

RxSwift ile Subjects

Merhabalar bu yazımda RxSwift ile Subject yapısı nedir ? ve nasıl kullanacağınızı sizlere göstereceğim.

Subject yapısı hem gözlemci hem de gözlenebilir olarak hareket eden ReactiveX’in bazı uygulamalarında bulunan köprü veya vekil türleridir. Bir gözlemci olduğu için, bir veya daha fazla Gözlenebilir’e abone olabilir ve Observable olduğu için gözlemlediği nesneleri tekrar göndererek geçirebilir ve yeni öğeler de yayınlayabilir. RxSwift üzerinde bir kaç adet subject tipi bulunmaktadır.

Bunlardan ilk olanı PublishSubject ‘dir. Özelliği observe abonesine sadece yeni öyeleri yayar. Abone işleminden sonra gerçekleştirilmiş emit işlemlerini yansıtır. Örnek üzerinden bu olayı ve kullanımını görebilirsiniz.

Diğer bir nesnede BehaviorSubject nesnesidir. Bu nesnede PublishSubject ile benzer yapıdadır. Ancak başlangıç olarak bir değer alır ve o değerden sonrasına nesneleri ekler.

Bunun dışında diğer bir nesnede ReplaySubject nesnesidir. Bu nesnenin özelliği tampon bir buffer değeri girmeniz ve bu değere göre nesnenin yayılması durumudur. Aşağıdaki örneği inceleyebilirsiniz.

İlk abone tüm nesneleri gösterdi, ancak ikinci abone ilk nesne hariç diğerlerini bize iletti. bufferSize 2 olarak denerseniz “A” stringininde ikinci abone tarafından yansıdığını göreceksiniz.

Son olarak diğer bir nesnemiz Variable nesnesi. Bu nesneyi uygulamalarımızda Rx olarak yazarken bolca kullanmaktayız. Normal bir değişken yaratır gibi yaratabilir ve observe işlemlerini kolayca halledebilirsiniz. Variable nesnesinin değişkeni olan .value ile abonemiz tetiklenmekte ve yeni nesne eklemekteyiz. Örnek üzerinde bu olayı görebilirsiniz.

 

 

 

Tarih:RxSwift

Bu yazı yorumlara kapalı.