问题标签 [rx-swift]
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 - 数组每次迭代的 RxSwift 请求
我正在使用 RxSwift 来获取一些网络数据,并且在为数组的每次迭代执行请求时遇到了麻烦。这是我的想法:
- 我有一个 API 端点,它返回一个不包含位置数据的 Objs 数组。然后我将遍历 Objs 数组,并为每个获取带有 Obj id 的位置详细信息。像这样的东西:
(代码简化)
- fetchObjLocationDetails() 类似于:
(代码简化)
这个解决方案并没有真正起作用,因为代码甚至没有进入 subscribe next 闭包中。
请记住,我对 Swift 和 RxSwift 编程都是新手,所以要温柔:) 任何帮助将不胜感激。
ios - RxSwift - 去抖动/油门“逆”
假设我有一个即时消息应用程序,每次消息到达时都会播放哔声。我想要debounce
哔哔声,但我想播放第一条消息到达的哔哔声,而不是接下来的消息(例如 2 秒的时间跨度)。
另一个示例可能是:我的应用程序发送输入通知(因此与我聊天的用户可以看到我正在输入消息)。我想在开始输入时发送输入通知,但仅以 X 秒为间隔发送新通知,因此我不会为我输入的每个字符发送输入通知。
这有意义吗?有运营商吗?现有的运营商能做到吗?
这是我的第一个示例的代码。我现在正在用 解决它debounce
,但这并不理想。如果我每隔 1 秒收到 1000 条消息,则在最后一条消息到达之前它不会播放声音(我想在第一条消息上播放声音)。
谢谢!
swift - 如何将 Observable 绑定到 UITableView
我对 RxSwift 比较陌生。我有一个 Observable,想将它绑定到 UITableView。到目前为止,我发现的所有示例和解决方案都使用 Observables<[Item]> 将其绑定到 TableView - 但我没有 Array 类型的结果。
如何将我的 Observable 转换为 Observable<[Item]>?或者我将如何使用 Observable 在 TableView 中显示结果?
swift - 从 Observable 中只获取一个值
我从 RxSwift 开始,来自 ReactiveCocoa。我有一个概念问题。
假设我有一个想要随时间观察的值,例如温度。所以有很多情况和地方我订阅这个值来对变化做出反应。没问题!
但是当我只需要最新值时,也有一些用例,例如:
所以我只想对该值或至少基于该值进行决策/操作。这促使我接近使用 shareReplay 可观察对象。但是,即使我只想使用一次,是否也需要订阅该值?
还是这种方法完全错误?我将如何处理该用例(随时间推移的值与仅访问最后一个值一次)?我需要来源,一热一冷吗?
swift - RxSwift 相当于 DefaultIfEmpty
似乎 rx-swift 还没有实现DefaultIfEmpty。还有另一种方法可以模仿这种行为吗?
ios - 将 UIApplicationDelegate 方法转换为 RxSwift Observables
UIScrollViewDelegate
在 RxSwift / RxCocoa 中,您可以为委托(例如或)创建一个反应式包装器,CLLocationManagerDelegate
以便为某些委托方法启用 Rx 可观察序列。
我正在尝试为该UIApplicationDelegate
方法实现这个applicationDidBecomeActive:
到目前为止,我尝试的非常简单,类似于DelegateProxy
RxCocoa 中包含的子类。
我创建了我的DelegateProxy
子类:
和一个 Rx 扩展UIApplication
:
在我的 AppDelegate 中,我订阅了 observable:
当我启动我的应用程序“活动!” 被打印出来,然后我在 RxCocoa 的_RXDelegateProxy_
类中得到以下崩溃:
有人知道问题可能是什么吗?或者有没有人成功实施过类似的东西rx_applicationDidBecomeActive
?
ios - RxSwift 无法识别订阅方法
我正在为我的 iOS 应用程序使用 RxSwift。
我有一个函数,它返回一个Observable
名为Repository
.
基本上,它向 github 发出网络请求以下载给定搜索查询的存储库。
现在,当我调用这个函数时,我会按照RxSwift 文档中的示例进行操作:
但是 Xcode 说
无法使用类型为“((存储库)->())”的参数列表调用“subscribeNext”
这很奇怪,因为这是 Xcode 在我使用自动完成时建议起诉的内容。我已经尝试过清理并重新构建。即使我使用另一种订阅方法,我也会遇到同样的错误。
那么,这有什么问题呢?
ios - RxSwift rx_text 双向绑定崩溃
<->
我正在尝试使用示例中的运算符进行简单的双向绑定。
编辑此文本视图会导致异常,我不确定如何解决它。
我能够在2.1.0
和2.2.0
有人对如何解决这个问题有任何想法吗?
swift - RxSwift 正确的方式
我正在尝试使用 RxSwift 编写一个 MVVM,并且与我过去在 ReactiveCocoa for Objective-C 中所做的相比,以正确的方式编写我的服务有点困难。
一个例子是登录服务。
使用 ReactiveCocoa (Objective-C) 我编写如下代码:
我的 viewModel 应该是这样的:
现在在 RxSwift 中,我编写的内容与以下内容相同:
我正在以这种方式更改按钮状态,因为我不能这样做:
和我的视图模型
和
我使用 Driver 是因为它包含了一些不错的功能,例如:catchErrorJustReturn(),但我真的不喜欢我这样做的方式:
1)我必须将用户名和密码字段作为参数发送到viewModel(顺便说一句,这更容易解决)
2 ) 我不喜欢我的 viewController 在点击登录按钮时完成所有工作的方式,viewController 不需要知道它应该调用哪个服务来获取登录访问权限,这是一个 viewModel 工作。
3 ) 我无法在订阅之外访问用户名和密码的存储值。
有不同的方法可以做到这一点吗?你们 Rx'ers 是怎么做这种事情的?非常感谢。
swift - 如何在 RxSwift 中观察数组属性的变化
这是我的课:
我想每次 myArray 指向一个新数组时触发一个事件,如下所示:
我试过 rx_observe 但失败了,这是我的代码:
只是第一次触发,有什么问题吗?