2016-04-01 8 views
9

में मैं कोड के इस टुकड़े की है।विलय दो अधिसूचना पर्यवेक्षकों RxSwift

हालांकि यह संकलित नहीं करता है। मुझे निम्न त्रुटि मिलती है:

Value of type '[Observable<NSNotification>]' has no member 'merge' 

मुझे इन दो संकेतों को एक में कैसे विलय करना चाहिए?

उत्तर

22

.merge() को जोड़ती है कई Observables ताकि आप फिर उस पर .merge() फोन appActiveNotifications.toObservable() के लिए करना चाहेंगे

संपादित करें: या RxSwift's playground में उदाहरण के रूप में, आप Observable.of() उपयोग कर सकते हैं फिर उस पर .merge() का उपयोग करें; इस तरह:

let a = NSNotificationCenter.defaultCenter().rx_notification(UIApplicationWillEnterForegroundNotification) 
let b = NSNotificationCenter.defaultCenter().rx_notification(Constants.AppRuntimeCallIncomingNotification) 

Observable.of(a, b) 
    .merge() 
    .takeUntil(self.rx_deallocated) 
    .subscribeNext() { [weak self] _ in 
    // notification handling 
    }.addDisposableTo(disposeBag) 
+0

मैं 2 अलग-अलग प्रकार के पर्यवेक्षकों को विलय करना चाहता हूं। कोई विचार कैसे प्राप्त करें? यही वह है जो मैं करने की कोशिश कर रहा हूं। http://stackoverflow.com/questions/39050059/rxswift-merge- अलग-kind-of-observables –

+0

आप 2 अलग-अलग प्रकार के पर्यवेक्षकों को विलय नहीं कर सकते हैं। मैच बनाने के लिए आपको उनमें से या दोनों को परिवर्तित करना होगा! – nverinaud

+0

@ स्विफ्टहिपस्टर आप दोनों परिणामों को प्राप्त करने के लिए 'ज़िप' का उपयोग कर सकते हैं और इसे मैन्युअल रूप से मर्ज कर सकते हैं – Caipivara

संबंधित मुद्दे