问题标签 [rx-cocoa]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
swift - ViewModel 中的链可观察对象用于获取但保留为独立属性
我有一个MapViewModel
适合我的MapViewController
.
我有一个返回一个MapObjectService
函数fetchMapObjects(currentLocation: CLLocation)
Observable<MapObjects>
在 MapViewModel 我有:
我可以像这样初始化当前位置:
如何有效地初始化这两个属性,以便fetchMapObjects()
使用 currentLocation 来设置mapObjects
属性?
我的计划是将这些属性绑定到 mapView 中,MapViewController
以将地图对象显示为图钉和当前位置。
谢谢!
ios - 从 UICollectionView 索引路径获取模型
我RxSwift
用来将模型数组绑定到集合视图
如何从给定的 indexPath 获取模型对象?
我正在做这样的绑定:
我的问题的核心是,我需要同时获取模型对象和用户选择的单元格。Using collectionView.rx.modelSelected(T.self)
only 给了我模型 og type T
。打电话collectionView.rx.itemSelected
只会给我选择的IndexPath
但这在尝试使用 indexPath 的模型时给了我一个错误:
类型“inout UICollectionView”不符合协议“ReactiveCompatible”
尝试一下:
也给了我一个错误:
对成员 'model(at:)' 的模糊引用
SO...如何同时获取模型对象和用户选择的单元格?
rx-cocoa - 将函数绑定到切换按钮的语法是什么?
以下是将切换开关绑定到活动指示器的教程代码片段:
绑定到私有 func()的语法是什么?
除了翻转布尔值之外,我还希望能够做几件事。
具体来说,我想:
- 切换另一个按钮的标题;
- 启用和清除 UITextView;和
- 更改 UILabel 文本。
还是在这种情况下,仅使用熟悉的切换按钮@IBAction 范例更好?
ios - RxCocoa 数据绑定导致集合视图滚动到顶部
我有一个我正在重写以使用的 iOS 应用程序RxSwift
和RxCocoa
. 它工作得很好,但我在集合视图数据绑定方面遇到了问题。
在我的应用程序中,我viewWillAppear
在视图控制器上调用时执行数据绑定,例如:
```
这很好用 - 我的数据正确绑定到我的集合视图。
但是,为了避免对当前不可见的视图控制器进行活动绑定,我会在调用disposeBag
时解除分配。viewWillDisappear
然后,每当再次显示 vc 时,我都会重新创建处理包并重新绑定数据。
我的问题是,当我将数据重新绑定到集合视图时,内容偏移量被重置。考虑一个场景,当一个项目被点击时,我列出内容并导航到一个新的视图控制器。每当我回到列表时,新的数据绑定将导致滚动视图滚动到顶部。
集合视图的默认行为是保持其偏移量,即使数据源更改并被reloadData
调用。我在这里遗漏了什么还是我做错了什么?
swift3 - 如何使用 RX 索引更改标题
我想用可观察的 int 更改标题。
在视图模型
在视图控制器
当我这样做时,我在盲人(to)中有一个错误:
致命错误:在展开可选值时意外发现 nil
该函数永远不会传入 .map
当我在 RX Swift 中的索引更改时,我如何更改标题?
swift - 两种查询方式的区别
我遇到了 RxSwift 调度程序的问题:
这两个代码有什么区别:
和
ios - 如何使用 RxSwift disposeBag 防止 UITableViewCell 中重复的 UIButton 点击
首先对令人困惑的标题感到抱歉,但我实际上无法想出更好的东西(如果你这样做,请编辑)。
我有一个使用 Coordinator 模式和 RxSwift 的应用程序,所以总而言之,我想将所有与导航相关的东西传递给 Coordinator,这样它就可以处理导航逻辑。
在一个视图控制器中,我拥有UITableView
其中包含单元格的单元格UIButton
。对于这种情况,我有一个:
chapterAction
是一个PublishSubject<Void>
,因为它只反映了一个按钮点击,但我需要将更多信息传递给协调器,所以稍后我将其转换chapterAction
为:
而且我认为到目前为止这段代码没有任何问题,所以在 View Controller 中.bind(to: tableView.rx.items...
我有:
因为我想将它绑定到视图控制器viewModel
,然后subscribe
在协调器中。
一切正常,但是对于某些单元格,我会重复点击,为什么?我试过把distinctUntil
, shareReply
,但似乎没有任何帮助我的问题,它不是一个确定性的问题。我怀疑涉及到一些重用,但我不知道从哪里开始寻找这个问题......
ios - 合并 UIBarButtonItem tap 和 UIView tapGesture() 的 Observables
对于同一个动作,我有两个来源。a 中的常规 RxCocoa 水龙头UIBarButtonItem
:
和一个 RxGesture 轻击手势识别器UIView
:
我以通常的方式订阅它:
这适用于两个可观察对象,现在我想合并它但无法实现它。因为它们是不同事件的两个 observables 是merge
行不通的。
类型“inout UIView”不符合协议“ReactiveCompatible”
有可能做到这一点吗?谢谢。
rx-swift - 按下按钮时可观察到 RxSwift 触发器
我正在创建一个自定义的 observable,它将呈现一个 UIAlertController,它希望在按下时触发 API 调用。但是,除非我手动订阅它,否则我似乎无法弹出警报。有没有办法从 viewModel 触发这个?
MyController.swift
ViewModel.swift
ios - 在使用 RxSwift 和 mvvm 发出 moya 请求时添加一个微调器,并在用户收到响应时将其关闭
我有一个应用程序,我正在尝试使用 MVVM 实现 RxSwift。
我有 SignInViewModel ,我在其中进行验证,并且正在使用我正在收听的其余响应布尔值更新可观察的登录。
在控制器类中,只要验证通过,登录按钮就会启用。
以类似的方式,我希望能够在单击按钮时启动微调器,并在用户收到响应时关闭。
当我尝试从控制器类中的视图模型中收听 loginObservable 时。它没有命中绑定块。
我无法弄清楚问题所在。
任何帮助将不胜感激
以下是我的 SignInViewModel
以下是 moyaRequest 类
以下是我的 RestService 课程
}
我正在尝试在控制器类中绑定视图模型。