jjzjj

ios - tableView.rx.itemSelected 中的 RxSwift 双映射

我想从tableView.rx.itemSelected获取对象并对其进行处理。此方法返回IndexPath,因此我可以映射此值。但是如何从ViewModel获取索引处的对象呢?structViewModel{varitems:Observable}大约我期望这样的事情(但这个流程是错误的):tableView.rx.itemSelected.map{indexPath->IteminreturnviewModel.items.map{$0[indexPath.row]}}..subscribe(onNext:{[unownedself]itemin//otheractionswith

ios - 如何在 RxSwift 中选择 CollectionView 单元格

我需要使用RxSwift在CollectionView中选择特定索引处的项目。此方法无法正常工作。collectionView.rx.modelSelected(SearchResult.self).subscribe(onNext:{menuItemin}).addDisposableTo(disposeBag)有人可以帮忙吗? 最佳答案 如果你想要选择项目的indexPath,你可以使用以下:collectionView.rx.itemSelected.subscribe(onNext:{indexPathin//yourcod

swift - UIRefreshControl 与 RxSwift

您好,我正在尝试让UIRefreshControl与RxSwift一起工作。因此我正在使用ActivityIndicator这是在RxSwift示例中。在我的viewModel中,我有以下函数和变量来获取我的数据。//MARK:-Variablesvardata=Variable([])//MARK:-PublicInterfacefuncgetData(){letrequest=Data.readAll()_=request.rxResult().subscribe(onNext:{responseinself.data.value=response.data},onError:{(

ios - 包含使用 RxSwift 的 UICollectionView 的 UITableViewCell

我开始在我的iOS项目中使用RxSwift,我有一个带有自定义UITableViewCell子类的UITableView。在该子类中,我有一个UICollectionView。使用RxSwift填充tableview非常完美,我为此使用了RxSwift的另一个扩展(RxDataSources)这是我的做法:self.dataSource=RxTableViewSectionedReloadDataSource(configureCell:{(section,tableView,indexPath,data)inletcell=tableView.dequeueReusableCell(

swift - 如何在 RxSwift 中观察对象的属性?

我有以下Forecast类:classForecast{letcity:CityvarcurrentTemperature:String{didSet{print("curtepmwassetto\(currentTemperature)")}}init(city:City){self.city=cityself.currentTemperature="0"}funcloadForecast(){self.currentTemperature="+10"}}我正在尝试观察ForecastViewModel中forecast对象的currentTemperature属性classFore

ios - RxSwift - 订阅行为(观察者 :)

我对RxSwift中订阅方法的行为感到困惑。这是示例代码。letobserver1=PublishSubject()letobserver2=PublishSubject()letobservable1=Observable.just("")letobservable2=observable1.map{$0}_=observable1.subscribe(observer1)//#1.OK_=observable1.subscribe(observer2)//#2.Error_=observable2.subscribe(observer2)//#3.Error_=observable

ios - RxSwift - 为什么将 ControlProperty 特性包装到驱动程序中?

在官方RxSwiftdocumentation,它描述了特征Driver和ControlProperty在它们之间有许多相似之处(不能出错,观察发生在主调度器上,共享和重放副作用),但在同时在示例中提供的ControlPropertyrx.text被包装到驱动程序中。所以问题是:将ControlProperty包装到Drivertrait中是否有真正的优势?如果默认情况下ControlProperty和Driver都应该共享和重播,为什么要调用.share(replay:1)运算符在第一个代码中但不在第二个代码中?这里附上文档中的引用代码:来自:letresults=query.rx.

swift - RxSwift 更新身份验证 token

Hy我正在尝试使用Moya和RxSwift来更新身份验证token并重试请求。问题是我有多个请求同时进行,假设在身份验证token过期时触发了10个请求,我将尝试更新所有请求的token,并在第一个请求更新后立即更新其他的将失败,因为他们使用了错误的token来更新。我想做的只是构建一个(可能)请求队列,然后重试这些请求。不确定这是否是最佳方案。这是我目前所拥有的:finalclassNetworkOnlineProvider{fileprivateletdatabase=DatabaseClient(database:DatabaseRealm()).databasefilepriv

swift - RxSwift 兼顾本地数据库和远程网络?

目前我有管理从本地存储检索数据的服务,但也检查远程网络是否有任何修改的数据。它使用具有Result模式和协议(protocol)类型的完成处理程序,但希望将其转换为可观察的方法。这是当前的逻辑:structAuthorWorker:AuthorWorkerType,Loggable{privateletstore:AuthorStoreprivateletremote:AuthorRemoteinit(store:AuthorStore,remote:AuthorRemote){self.store=storeself.remote=remote}}extensionAuthorWor

ios - 使用 RxSwift 创建一个 "reactive"API

我正在尝试RxSwift,并想为我的常规API调用之一创建一个“流式API”。我的想法是进行常规调用(它已经毫无问题地使用了可观察对象)并让计时器触发此类调用并将结果发送到同一个可观察对象上,这样ViewController就可以自动更新,所以不要这样做(伪代码如下):funcgetLocations()->Observable{returnObservable.create{sinkinNSURLSession.sharedSession.rx_JSON(API.locationsRequest).map{jsoninreturnjson.flatMap{Location($0)}}