问题标签 [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 回答
4415 浏览

swift - 没有“项目”候选产生预期的上下文结果类型 '(Observable<[Product]>) -> (_) -> _'

这是我的代码片段:

它给了我一个构建错误:

没有“项目”候选产生预期的上下文结果类型 '(Observable<[Product]>) -> (_) -> _'

在我的视图控制器中,我使用类似的代码填充表视图:

此代码正常工作。我究竟做错了什么?

0 投票
1 回答
2338 浏览

swift - RxSwift + UITableViewCell 如何在 heightForRowAt 中获取单元格对象

我有一个带有 UITableView 的视图控制器。使用 RxSwift 填充表数据:

我有以下委托功能:

我想从内部访问单元格对象,heightForRowAt但它给了我nil. 有没有办法在这里访问单元格?我一直在查看 RxCocoa 项目中的 UITableView+Rx.swift ,但没有此功能。我还有什么其他选择?

编辑:我试图在我的代码中实现以下目标:

0 投票
2 回答
5072 浏览

swift - 带有 RxSwift 的 UIRefreshControl

嗨,我正在尝试使 UIRefreshControl 与 RxSwift 一起工作。因此,我使用的是 RxSwift 示例中的活动指示器。

在我的 viewModel 中,我有以下函数和变量来获取我的数据。

然后在我的视图控制器中,我尝试将它绑定到 UIRefreshcontrol 和我拥有的集合视图。

我的问题是,我缺少什么来完成这项工作?现在,如果我启动应用程序,除了一个不停旋转的黑色活动指示器之外,什么也没有发生。

0 投票
2 回答
8714 浏览

ios - 使用 RxSwift 的 TabelView 委托方法

我正在为 TableView 使用 RxSwift。我需要计算动态单元格的高度,之前我是在 WillDisplayCell 委托方法中完成的。我不知道如何将 TableView Delegate 方法与 RxSwift 绑定。任何人都可以帮忙吗?

0 投票
2 回答
18233 浏览

ios - 在 UICollectionViewCell 中为 UIButton 设置 rx.tap 的问题 - RxSwift 3

我为 1 UIButton 订阅了 2 次:

  1. 首次订阅,每次点击更新 UI
  2. 第二次订阅,用于在累积点击后每 1 秒更新一次 Web Service 上的值。

代码:

问题:

由于处置发生在prepareForReuse(),如果我多次单击该按钮并立即滚动,则 Web 服务调用将被处置且未更新。

我尝试过的:

  1. 添加addDisposableTo(vc?.rx_disposableBag)到父 ViewController DisposableBag。

    问题是,订阅的累积和每次点击都会被updateWS()调用多次,每次滚动都订阅了并且从未处理过。

  2. 我试图从prepareForReuse().

    问题是,按钮的订阅再次被重复和累积,并且每次点击都会调用许多 Web 服务调用。

问题: 我怎样才能让debounce订阅被调用到最后并且从不重复多个订阅(在addDisposableToviewController Bag 的情况下)?

0 投票
1 回答
488 浏览

ios - iOS 自动完成功能不适用于 RxCocoa Xcode 8.3

我遇到了 RxSwift 和 RxCocoa 的问题。我已经更新到最新版本 3.3 和 Xcode 8.3 但是 RxCocoa 的自动完成功能存在问题。

每次我写textfield.rx.text。不会有自动补全

我们怎样才能解决这个问题?

0 投票
1 回答
1171 浏览

swift3 - RxSwift: Repeat a (completed) stream

Assume I have a button which can be used to start and stop (toggle) an action.

I have another stream, that emits Integers continuously.

Now I want to use the toggle stream to start and stop the emitting of the second stream. This is my approach:

This works great for the first time. I can press the button and the Observable starts emitting its Ints. Also stopping works. Sadly I can't start it for a second time, because the stream is completed. How can I restart/retry/repeat it when the user toggles the button again?

0 投票
1 回答
1746 浏览

ios - 如何在点击按钮时观察 PublishSubject

我正在处理这种情况,我想在这里应用 RxSwift。

我有.xib带按钮的 UIView。

我在我的 viewController 中创建了这个视图的一个实例

从我的 segue 中单击此按钮我需要转到下一个 VC,所以我订阅了 UIView 的主题

但是我不知道如何将按钮点击与我的发布主题的更改状态联系起来?

0 投票
3 回答
1371 浏览

ios - 使用 Rxswift 绑定两个 UIview 框架/位置

我想在view1位置发生变化时自动更改view2位置,并使用 Rxswift 绑定两个视图位置。

我尝试使用它来观察视图框架/位置

在初始化时打印帧,但是当使用约束更改视图位置时

它什么也不打印意味着这段代码没有观察视图位置......

有没有办法连续观察视图位置或绑定视图位置?

0 投票
2 回答
618 浏览

ios - UINAvigationController -> setViewControllers 导致崩溃

我在这里遇到了一个非常奇怪的情况 - 调用该方法 UINAvigationController -> setViewControllers:animated:会导致应用程序崩溃。仅在 iOS 10.3.2 以及我在发布模式下构建应用程序时才会发生这种情况。

我收集了更多细节。希望他们能帮助了解发生了什么。

该问题仅在 iOS 10.3.2 和发布模式下出现。我已经在 10.3.2 的 iPhone 上检查了这一点,发布构建失败,但调试工作正常。此外,我在 iOS 10.3.2 上的 AppStore 中检查了该应用程序的早期版本,也可以。调试和发布版本在所有早期版本的 iOS 上都可以正常工作。

AppStore 中以前的版本是用旧版本的 Xcode 构建的,现在我使用的是最新的 Xcode 8.3.2。我想这是系统问题,与 iOS 和 Xcode 版本有关。

关于来源,它看起来像:

AppDelegate.swift

ViewController.swift

我之前说过,它在所有情况下都可以正常工作,除了一种:)。UINAvigationController -> setViewControllers:animated:是标准的 iOS 方法,可从 iOS 3.0+ 开始使用,现在不推荐使用。没有黑客或其他可以破坏程序流程的东西。这是通常的使用方式。

PS 没有调试日志或任何其他我可以为您提供的消息,因为该应用程序只是从屏幕上消失,根本没有任何通知。