问题标签 [reactive-cocoa-4]

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

frp - 懒惰的`SignalProducer`,当所有数据都用完后异步获取更多数据

假设我们可以异步获取固定数量的消息(一个请求,包含 N 个元素)

现在,我想把它变成一个无界的,当前一个流完成时SignalProducer会懒惰地调用。fetchMessages

一个可行但仍需要预先计算所有范围的初步想法是通用化以下代码

现在,我想更进一步,并在之前的值被消耗后评估下一次对lazyFetchFrom 的调用。那可能吗?

谢谢

PS:要清楚,我主要关心的是提供某种背压,以便生产者与消费者相比不会生产得太快

编辑:这是我实现一些背压的最新尝试。但是,当我们观察到信号时,背压消失了,一切都在内存中排队

0 投票
1 回答
653 浏览

ios - ReactiveCocoa 4:观察一个动作的完成事件

我正在观察一个反应性的 cocoa 4 动作,所以我可以在执行动作时运行一些代码。

这是我的动作定义:

这是我进行观察的方式:

下一个事件的观察工作正常。当操作由 UIButton 触发时,将执行打印语句。

但是,我的问题是,由于某种原因,从未触发对已完成事件的观察。这可能是 ReactiveCocoa 中的错误还是我做错了什么?

谢谢!

0 投票
1 回答
366 浏览

swift - ReactiveCocoa 对成员 RACSignal 的模糊引用

我正在尝试返回一个RACSignal可以在我的 Objective-C 代码中使用的,我尝试了各种方法。前任:

也是这样。

XCode总是说同样的话:

对成员 toRAC 信号的模糊引用

我的 podfile 看起来像这样:

我有 Xcode 7.3 版

也试过这个:

同样的结果。

0 投票
1 回答
590 浏览

swift - ReactiveCocoa 创建一个可以手动发出的信号生产者

我想在 swift 中使用 ReactiveCocoa 对以下场景进行建模。

如何创建信号生产者并将信号用作 takeUntil 输入信号并稍后手动触发信号。我做得对吗?

0 投票
0 回答
33 浏览

swift - 如何一个接一个地调度两个 RAC SignalProcedures?

我有两个SignalProducers进行网络调用,一个发出常规的服务器数据请求,而另一个检查当前用户令牌是否仍然处于活动状态,如果不是,则发出一个 refresh_token 请求。

关键是在调用请求数据方法(返回 SignalProducer)之前发出令牌验证请求(返回a SignalProducer<User, NetworkError>)。

我曾尝试使用调度程序,信号量,但我无法使这些解决方案中的任何一个工作,我也看过 SignalProducer concat 方法,但我不知道它是如何工作的,什么是模拟这个的最佳方法行为?

0 投票
1 回答
402 浏览

ios - 将委托回调转换为 SignalProducer 事件?

我有一个委托对象。有 6 个委托回调通知委托有关事物的状态。我有一个MySpecialEvent代表这些状态的快速枚举。当我实例化这个委托对象时,你能帮我弄清楚如何正确初始化 aSignalProducer<MySpecialEvent, NoError>并将委托调用挂钩到生产者事件吗?next

我的期望是(如果这是错误的,请纠正我)信号生成器将是producer委托对象的公共属性。然后我可以得到这个生产者的引用,传递它并基本上以反应方式处理其他地方的事件。

最初我虽然可以在委托对象上有一个 MutableProperty,但我会在每个委托调用中更改它的值,这给了我一个免费的生产者,然后我可以观察它。

更新:我试过这个,它确实有效。

但从概念上讲,我不喜欢这样,因为我说的是事件,而不是持久状态值。确实,这是一个实现细节,但仍然如此。这种做法对吗?

0 投票
1 回答
52 浏览

arrays - 使用 ReactiveCocoa 将元素的信号转换为具有大小的数组

我试图找到一种方法将发送 X 元素的信号转换为受大小限制的 X 元素数组。

就像是:

signal.take(2).collect().observeNext{myFunction 中的变化(changes) }

但是完成后就死了。我需要它是:

  • 取2个元素
  • 将数组发送到函数
  • 重复

任何想法?

0 投票
1 回答
482 浏览

ios - Swift 2 RAC4 合并 UITextField 信号和 UISwitch 信号

我编写了代码的反应式命令版本:

我的 ViewModel 中有三个 MutableProperties:Bool 类型的比例Bool、HeightString 和 String 类型的 widthString。

我的 ViewController 中也有一个相应的 UISwitch 和两个 UITextField。

我想学习的是有以下情况: 1. 如果 bool/switch 为假,那么 heightString 应该保持不变 2. 如果 bool 为真,那么 heightString 应该是一个值:widthString * multiplier

我知道我写的代码很糟糕。我想我应该使用 combineLatest 但我不知道如何将两个信号合并: UITextField 和 UISwitch 成为一个产生信号。

谁能给我任何提示或简单的代码示例?

0 投票
1 回答
143 浏览

ios - Understanding a basic Swift compiler error

I understand why this produces a compiler error:

The error is

Cannot convert value of type '(Int) -> _' to expected argument type '(Int -> ())?'

So the next parameter takes a closure with an Int parameter that returns Void whilst we're returning _

But why does this compile fine:

we're returning a String, not Void so why does the compiler not complain?

0 投票
2 回答
177 浏览

reactive-cocoa - ReactiveCocoa SignalProducer 解释

由于 start() 的行为,从生产者创建的不同信号可能会看到不同版本的事件。信号之间的事件可能以不同的顺序到达,或者流可能完全不同!

上述陈述的任何例子?