में एक बूल स्ट्रीम को कॉन्फ़िगर कैसे करें का उपयोग करते समय वेब सामग्री से नई सामग्री प्राप्त होने पर मैं collectionView
का पुनः लोड करने के लिए तैयार हूं। मैं समझ नहीं पा रहा हूं कि मुझे निम्नलिखित कोड के साथ न्यूकंटेंट पर एक ईवेंट क्यों नहीं मिलता है जब मेरा पूर्ण समापन सही ढंग से बुलाया जाता है।RxSwift
class ListingView : UIView {
var newContentStream: Observable<Bool>?
let disposeBag = DisposeBag()
@IBOutlet weak var collectionView: UICollectionView!
weak var viewModel: ListingViewModel?
func bind(viewModel: ListingViewModel) {
self.viewModel = viewModel
}
func configure() {
guard let viewModel = self.viewModel else { return }
self.newContentStream = viewModel.newContent.asObservable()
self.newContentStream!.subscribeNext { _ in
self.collectionView.reloadData()
}
.addDisposableTo(self.disposeBag)
}
}
और फिर मेरी ViewModel भीतर:
class ListingViewModel {
let dataSource = ListingViewDataSoure()
var newContent = Variable(false)
func mount() {
let onComplete : ([item]? -> Void) = { [weak self] items in
self?.dataSource.items = items
self?.newContent = Variable(true)
}
guard let URL = API.generateURL() else { return }
Requestor.fetchAll(onComplete, fromURL: URL)
}
}
मुझे RxDataSources के साथ इंगित करने के लिए धन्यवाद। मैं बस कुछ बूल घटना कैसे स्ट्रीम कर सकता हूं हालांकि मुझे नया सामग्री रीसेट नहीं करना चाहिए? क्या मैं डेटास्रोत देख सकता हूं? – tiguero
मैंने आपको यह दिखाने के लिए जवाब संपादित किया है कि कैसे। लेकिन फिर से, मैं इस तरह से ऐसा करने का सुझाव नहीं दूंगा। – solidcell
यह आपके सुझाव के साथ ठीक काम करता है धन्यवाद - मैं आरएक्सडेटा स्रोतों को अगले चरण के रूप में देखूंगा – tiguero