问题标签 [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.

0 投票
1 回答
7710 浏览

swift - RxSwift/RxCocoa:防止 UITextField 有超过 ... 字符

我想要一个使用 RxSwift/RxCocoa 配置的 UITextField,以便它最多只包含 ... 字符。我不想为此使用UITextFieldDelegate,但很想用 RxSwift/RxCocoa 来实现这一点。有没有办法做到这一点?

0 投票
2 回答
1637 浏览

ios - 如何测试 RxSwift 变量和 RxCocoa Observable 之间的 UI 绑定?

我有一个简单ViewModel的属性:

我将它绑定到UITextField我的ViewController

现在,我想对它进行单元测试。

我可以nameField.text通过 Rx 使用.onNextevent -填充属性nameField.rx.text.onNext("My Name Here")

但是viewModel.name没有被填满。为什么?如何使这种 Rx 行为在我的 XCTestCase 中起作用?

请看下面我上次测试运行的结果:

上次测试运行屏幕截图

0 投票
4 回答
2838 浏览

ios - 如何使用 MVVM/RxSwift 根据来自其他单元格的值更新表格视图的单元格?

我是 RxSwift 的新手,并试图通过创建一个简单的注册表单来学习。我想使用 a 来实现它UITableView(作为练习,而且将来它会变得更加复杂)所以我目前正在使用两种类型的单元格:

  • 一个TextInputTableViewCell只有一个UITextField
  • 一个ButtonTableViewCell只有一个UIButton

为了表示每个单元格,我创建了一个如下所示的枚举:

并在 a 中使用它Variable来提供 tableview:

通过这样的绑定:

到目前为止,一切都很好 - 这就是我的表单的样子:

在此处输入图像描述

现在,我在这里面临的实际问题是,当所有 3 个文本输入都不为空并且两个密码文本字段中的密码相同时,我应该如何启用创建帐户按钮?换句话说,基于一个或多个其他单元格上发生的事件,将更改应用于单元格的正确方法是什么?

我的目标应该是formElementsVariable通过 ViewModel 改变这一点,还是有更好的方法来实现我想要的?

0 投票
2 回答
1402 浏览

ios - RxAlamofire 取消网络请求

下面是 RxAlamofire 网络请求的示例代码。我的问题是我想在视图控制器被关闭时取消这个请求。

我试图将此请求分配给全局变量,但requestJSON方法返回Observable<(HTTPURLResponse, Any)>类型。

当视图控制器被解除时,有没有办法处理这个请求?

0 投票
1 回答
1994 浏览

swift - RxSwift 4/RxCocoa 4 弃用变量 - 优点和缺点

将来,Variable 将在 RxSwift 4 中弃用。取而代之的是,Relay 类首先在 RxCocoa 4 中实现,而提议的 Variable 的替代方案是 BehaviorRelay。

为变量赋值是一种命令式编程风格的命令。它方便但不属于 Reactive 的声明式编程环境。

他们的优点和缺点是什么?

0 投票
3 回答
3083 浏览

ios - 使用 RxSwift 和 RXCocoa 验证按钮单击时的所有文本字段

我是 RxSwift 和 RxCocoa 的新手,我正在学习它。

我想在按钮单击时验证所有文本字段,并根据我需要向用户显示警报消息的验证。

验证成功后,我需要在表中插入记录。

参考以下代码...

当我按下一个按钮并同时检查所有验证并显示警报时...

但是我想这样做,如果一个验证失败,那么在之前的验证成功之前它不应该更进一步......

我不知道如何实现这一点。任何帮助将不胜感激。

0 投票
1 回答
1785 浏览

ios - 如何在ios中实现刷新令牌

只有一些 api 调用需要令牌。当 401 发生时,将进行刷新令牌调用。对于每次调用,令牌都会刷新。401发生时如何同步执行1个以上的api

0 投票
1 回答
1699 浏览

swift - 为 UIPageViewController.setViewControllers 做 RxCocoa 绑定(如何同步 Observable)

目前,我想将 的值绑定Observable<UIViewController>到我的UIPageViewController. 最初的想法简单明了:

但是如果 viewControllerObservable 中的值变化太快,页面视图控制器会在完成添加前一个视图控制器之前收到新的 set 命令,我得到NSInternalInconsistencyException.

我可以使用 使该代码更具“反应性” Binder,但我仍然会面临同样的问题。

这里很明显的方法是使用油门,但它似乎是很脏的修复,掩盖问题,而不是修复它。

理想情况下,我需要一些方法来处理进一步的值处理,直到completion被调用setViewControllers

我怎样才能做到这一点?

0 投票
1 回答
2682 浏览

swift - 多次调用 RxSwift "tableView.rx.modelSelected"

我是 RxSwift 的新手,我正在尝试用它来实现 UITableView。我用 rx.items 成功实现了 UITableView 单元格,现在我需要使用 didSelect 方法。

我的问题是;我的第一个单元格选择,它只调用一次,我打印了项目。但是在第一次选择tableView.rx.modelSelected之后被调用了多次。

原因是什么?我该如何防止这种情况?

谢谢。

0 投票
1 回答
2653 浏览

ios - 在 RxSwift 中测试 UITableView.rx.itemSelected 回调

我有一个绑定到实例的 tableView var myStrings: BehaviorRelay<[String]>,这样 tableView 中每个单元格的标签都设置为 myStrings 中每个字符串的值:

我订阅了 tableView 上的项目选择。

我将如何测试我在单元测试中订阅 itemsSelected 时的关闭?