2016-09-12 21 views
6

Aşağıdaki kodu kullanarak bir gözlemlenebilir oluşturun:Bir sonraki sinyali RxSwift'de gözlemlenebilir bir el ile nasıl gönderilir?

let disposeBag = DisposeBag() 

let myJust = { (element: String) -> Observable<String> in 
    return Observable.create { observer in 
     observer.on(.next(element)) 
     //observer.on(.completed) 
     return Disposables.create() 
    } 
} 

olanlar kod RxSwift örnek kod yazılmış.

Boş bir Gözlem yaratırsam, Benim gibi bir Gözat. Ve daha sonra bir süre, nasıl gibi myjust yanındaki değerini gönderebilirsiniz:

myJust("").on(.completed) 

Ama aşağıdaki hatayı alıyorum:

error: value of type 'Observable<String>' has no member 'on' 

cevap

9

Yapamazsın. Observable s sadece gözlenebilir. Değerleri zorlamak istiyorsanız, bir Subject'a ihtiyacınız olacaktır. A Subject'un her ikisi de Observable ve Observer'dir, böylece Etkinlikler yayılabilir ve bunları dinleyebilir. RxSwift'de, Observable numarasını bağlayabileceğiniz bir Variable oluşturabilirsiniz. BehaviorSubject için

Hızlı örnek:

let subject = BehaviorSubject(value: 1) 
subject.on(.Next(2)) 
subject.on(.Next(3)) 
subject.on(.Completed) 
+0

Sürücü ayrıca bunu yapamaz? Sadece konular ve değişkenler değerleri zorlayabilir mi? – leizh00701

+0

Afaik, sadece konular ve değişkenler :) –

İlgili konular