问题标签 [raccommand]

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 回答
1470 浏览

ios - 将 RACCommand 与异步网络操作一起使用

UAGitHubEngine用来访问 GitHub 的 API。我想编写一个功能性的反应式应用程序来获取一些数据。我依靠这里的代码来设置异步网络请求。我正在寻找的是一些名为“General”的团队的团队 ID。我可以做过滤/打印部分OK:

但是设置命令对我来说是个谜:

如何设置信号块以在某些异步网络调用返回时返回推送事件的信号?

0 投票
1 回答
1623 浏览

objective-c - 取消 RACCommand 执行

有什么办法可以取消 a 的执行RACCommand吗?

例如,我有一个带有无限执行信号的命令,如下所示:

那么我怎样才能在调用后停止它[command execute:nil]呢?

0 投票
1 回答
1301 浏览

objective-c - 使用带有 MVVM 模式的 RACCommand,向 ViewModel 发送参数

我在我的应用程序中使用 ReactiveCocoa 框架来获得使用 MVVM 设计模式的强大功能。

所以对于每个控制器,我都有一个 ViewModel。并且Controller绑定到他的ViewModel。

UIButton 绑定将如下所示:

一切正常,但是当我想将参数传递给 ViewModel 时,我不确定这样做的正确方法是什么......

假设我有一个股票的 UICollectionView,每次点击特定股票,我都想导航到该股票资料页面。该逻辑应该在 ViewModel 上完成,但是我如何通过 RACCommand 获取库存?

我目前正在做的是:

我确定这不是最佳做法!所以我问,什么是??

谢谢 。

0 投票
1 回答
294 浏览

ios - 使用 ReactiveCocoa 重试命令

我正在尝试将我的 iOS 应用程序重构为 ReactiveCocoa 和 ReactiveViewModel 并且我正在努力尝试制定几个最佳实践。

我将把它归结为一个简单的用例——我要推送一个视图控制器,它会加载一些数据并将其推送到表格视图中。如果端点调用由于某种原因失败,我想在屏幕上显示一个带有重试按钮的视图。

我目前有这个工作,但它看起来有点脏。我觉得必须有更好的方法——我这样做是否正确?

在我的 ViewModel 的init方法中,我正在创建我的命令,一旦 ViewModel 变为活动状态就会调用该命令。

在我的 UIViewController 中,我通过 -

我一定对它的RACCommand工作原理有一些误解,或者至少我觉得我没有尽我所能干净地做到这一点。

为什么我的错误块没有loadStationsSignal被调用?为什么我需要订阅executionCommand.errors呢?

有没有更好的办法?

0 投票
1 回答
826 浏览

objective-c - 该命令被禁用,无法执行

因此,当我尝试获取一些数据时,RACCommand 会返回此错误。

例如,我有一个选择器,当用户滚动它时,应用程序从服务器获取数据并显示它们,但如果用户快速滚动,(上一个操作正在进行中)RACCommand 会收到此错误:

我知道,它与一些取消机制有关,但是我尝试了很多示例并且效果不佳。

它是我的一段代码:

和视图模型: