rx-swift

    1熱度

    1回答

    我在RxSwift中使用最新版本的Moya,而且我遇到了一個邏輯問題,目前我找不到解決方案。 比方說,我有一個實現了以下接口視圖模型一個UITableViewController: protocol ListViewModelType { var items: Observable<[Item]> { get } } 的items屬性被實現爲(使用EVReflection):

    1熱度

    1回答

    當我將新數據追加到數據源時,如何禁用自動滾動到表格視圖頂部。 該問題在以下gif中可見。 編輯:添加視圖控制器,視圖模型和MessageEntity。 使用的框架是:RxSwift,RxDataSources用於表視圖的反應性數據源。 的ViewController: class RabbitMqVC: BaseViewController { struct Cells {

    0熱度

    2回答

    當我使用RxSwift時,我必須寫很多很多addDisposableTo,我該如何刪除它? usernameTextField.rx.text.orEmpty .bindTo(viewModel.username) .addDisposableTo(disposeBag) passwordTextField.rx.text.orEmpty .bi

    -4熱度

    1回答

    現在我正在閱讀着名的圖書館「RxSwift」,但我有一個問題。 參見this page。 如您所知,方法_map<Element, R>(source: Observable<Element>, transform: @escaping (Element) throws -> R)不屬於任何類或擴展或類似的東西。 這是如何解釋的? 我知道「頂級」的概念,但這與它有所不同。 你能解釋一下嗎?

    0熱度

    1回答

    我在我的iOS應用程序中採用了MVVM模式。我在我的視圖模型中公開了一系列Obserbles作爲公共屬性,並將UI綁定到這些屬性。這些觀察對象是從一個可連接的可觀察對象創建的。 視圖控制器類然後調用「execute」方法來觸發網絡請求。但是,如果因任何原因失敗,我希望能夠再次調用「執行」,但這不起作用。我相信這是由於可連接的觀測值已經完成。 如何在不需要每次重新創建視圖模型的情況下實現這一目標?我

    1熱度

    1回答

    我將viewDidAppear和filter驅動程序與RxSwift結合在一起。他們工作得很好。但是,當我介紹第三個驅動程序時,它會停止在最新的組合程序上調用flatMapLatest。 在我的視圖控制器,我有這些驅動程序: let filter: Driver<String> let viewDidAppear: Driver<Void> let refresh: Driver<Void>

    0熱度

    1回答

    如果associatedtype E是Result<T>,我想使用函數擴展協議。我想達到的是類似於以下內容: extension SharedSequenceConvertibleType where E == Result { func filterResult(success: Bool) -> RxCocoa.SharedSequence<Self.SharingStrategy

    2熱度

    2回答

    我有一個Completable從簡單函數返回。 這不是一個異步調用,所以我只需要返回根據條件一succcessful完成或錯誤(這裏使用的Rx這樣我就可以綁定到其他的Rx用途): func exampleFunc() -> Completable { if successful { return Completable.just() // What to do here???

    0熱度

    1回答

    據我所知,如果我想多個訂閱一個observable我需要使用.share()運算符,但我不明白爲什麼? 我正在尋找一些基於本地數據(不是網絡)的例子來演示使用.share()和沒有它之間的區別。 運營商真正做的是什麼 - 使用之前訂閱的數據或創建新的數據?

    0熱度

    2回答

    如何在移動UISlider時獲取價值? 我用下面的代碼: 視圖模型: import Foundation import RxSwift final class ViewModel { private let disposeBag = DisposeBag() var value: Variable<Float> init() { self.v