问题标签 [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.
ios - 我应该如何使用 RxSwift 更新 UITableViewCell?
我在演示中学习了创建 UITableView 和渲染单元格的示例。
在我看来,items
是 viewModel,我想通过使用 Alamofire 或其他库跨网络请求一些数据。当我收到回复时,如何更新单元格的相关文本?
换句话说,我想将 viewModel 绑定到 Cells。当模型的数据发生变化时,单元格的内容会自动发生变化。
我的一个想法是:为单元格的内容创建一个 Observable 序列(绑定到单元格)。当服务器响应数据时,它调用函数tableView.reloadRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Top)
。但这似乎不是一个优雅或好的方法。
所以,希望有人能帮助我:)
ios - RXSwift 如何为具有返回值的委托方法创建包装器
我在 RXSwift 中有一个代表的包装器
他们看起来像
但我有返回值的委托
我如何为这个委托实现包装器?
swift - Swift 异步 API 请求 - NSURLSession 还是 ReactiveExtensions?
当我将一些与 Web 服务调用相关的旧功能从同步调用迁移到异步时 - 我对以下内容感到好奇。
最好的技术选择是什么?
我正在考虑 NSURLSession 和 Reactive Extensions。
一般来说,我更喜欢使用 NSURLSession 主要是因为在维护方面的框架支持。相反,到目前为止,我在其他一些用 Scala 编写的系统中使用了 Reactive Extensions,并且已经证明它非常适合处理 API 请求——尽管我不得不说这些概念一开始就更难理解,然后只是检查Apple 在 NSURLSession 上的文档。
你对这类事情有什么经验?你会推荐什么,最重要的是,为什么?
arrays - 如何从一个可观察的数组创建一个可观察的数组?
我有一个Thing
对象数组,我想ConvertedThing
使用返回的异步函数将其转换为对象Observable<ConvertedThing>
。
我想创建一个Observable<[ConvertedThing]>
在所有转换完成后发出一个值的。
如何实现?非常感谢任何帮助!
system.reactive - 终止所有可观察对象并等待它们完成
我想编写一个函数,以一种我可以终止它的方式包装一个 observable,并在它完成后执行一些代码。我想过这样做:
我可以在没有var terminating: Bool
实例变量的情况下做到这一点吗?(即更实用..)
ios - 第一个 RxSwift 示例因“无法使用参数列表调用 'combineLatest' ...”而失败
试图围绕 RxSwift 进行思考,但他们提供的第一个示例无法构建。
我正在尝试从https://github.com/ReactiveX/RxSwift/blob/master/Documentation/Examples.md运行 RxSwift 代码
但它失败并出现错误:
Cannot invoke 'combineLatest' with an argument list of type '(Variable<Int>, Variable<Int>, (_, _) throws -> _)'
这是示例代码中的错误还是我遗漏了什么?
我复制的步骤:
创建一个新的 iOS Single View Application,保存,关闭它。
在项目根目录中创建一个 Podfile,其中包含:
跑
pod install
打开 xcworkspace 文件
将示例代码放入 ViewController 的 viewDidLoad 函数中:
建造。Xcode 可能会抱怨它无法加载 RxSwift。重新启动 Xcode -> 问题已解决。
建造。Xcode 可能会抱怨有关 bitcode 的问题。在项目设置中到处禁用位码 -> 问题已解决。
建造。Xcode 抱怨 combineLatest:
Cannot invoke 'combineLatest' ...
Xcode 版本:7.2
吊舱版本:0.39.0
RxSwift 版本:2.1.0
编辑:似乎其他示例也因各种错误而失败,例如:
不能在没有参数的情况下调用“concat”
这可能意味着我的项目配置中缺少某些内容,或者 RxSwift 发生了巨大变化,没有人有时间更新初学者示例以匹配更改。无论哪种方式,在使用 RxSwift 的第一个小时里,这些都是非常令人沮丧的。
swift - RxSwift:仅在满足要求时才压缩 Observables
想象一个允许编辑姓名、姓氏、年龄和头像图像等字段的用户配置文件。当用户单击Save
时,会针对已更改的每个值发送请求。
现在请考虑具有以下签名的函数:
通常我们只会zip
像这样的请求:
当我只想对已更改的值执行请求时,我应该怎么做?
swift - RxSwift 重复动作
我正在从 RAC 切换并希望有一个重复的网络请求,根据请求的 API 返回不同的结果类型。
我想使用一个区间,但我不知道如何匹配返回类型。
我需要调用 Int 类型的 Observerable.interval - 但返回 Observable。我该怎么做?
swift - 如何让 RxSwift 中的主题将值推送到自身而不创建无限循环
我有一个 UITableView,如果满足某些条件,我想将其置于编辑状态。切换编辑的主要方法是通过编辑按钮。
所以我拥有的视图元素是
以及 tableView 是否应该处于编辑模式来自:
它将使用以下方式连接到 tableView:
当点击编辑按钮时,我希望将新值推送到editing
,即对发送到的最新值的否定editing
。最近的值可能是通过点击设置的editButton
,或者它可能来自其他地方。
我不明白如何将按钮按下的流与流结合起来,以editing
允许这种方式没有无限循环,例如
我知道 tableView 有一个editing
属性,但我不想依赖它,因为我正在寻找可以在其他地方重复使用的更通用的解决方案。我也不希望在实例 var 中跟踪 isEditing 的值,甚至不作为变量(),因为我正在寻找一个无状态的、基于流的解决方案(如果这是可能的话)。
谢谢!
swift - RxSwift:链接几个动作
假设我们有一个 AnObject 实例数组,并且需要执行以下操作序列:
- 通过单独的调用将对象发送到后端
- 步骤 1 完成后将此数组批量存储到 DB
- 第 2 步完成后,对每个项目进行额外处理
并且我们希望仅在执行所有这些步骤(或出现错误)之后接收信号。通过RxSwift实现这一目标的正确方法是什么,实际上是否可能?
请在下面找到我的原型函数。不幸的是,我没有想出一个有效的链接代码示例,所以没有什么可以演示的。