问题标签 [reactive-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 投票
2 回答
1172 浏览

reactive-programming - 如何使用 ReactiveCocoa 对传入信号进行两级排序?

我一直在使用 ReactiveCocoa 工具,遇到了一个有趣的问题。我可以设想任何数量的丑陋、有状态的解决方案,但我非常有信心有一种优雅、实用的方式,无论出于何种原因,它都不会在我的脑海中实现。也许你能帮上忙!

这里的输入信号是两部分字符串,例如"<letter>,<number>". 所需的排序规则是,对于给定的字母,输入值应按顺序出现在输出中<number>(即A,2不应出现在之前A,1),并且所有字母的<letter>输出不应违反字母顺序。(即,B在出现至少一个以 开头的字符串之前,不应出现以 开头的字符串A。) 除了这些规则所规定的以外,期望事物将按照它们提交到输入的顺序到达输出。

考虑以下代码:

还应该“急切地”产生输出。如果我必须等到输入信号完成才能看到输出,这是没有用的(当然,除非排序规则规定是这种情况,即如果A,1最后出现)

有任何想法吗?

0 投票
1 回答
1898 浏览

ios - What is the best way to combine RACCommands into a common result?

Using ReactiveCocoa 2.0, is there a better way to do the following, without having to materialize/dematerialize and still being able to capture errors from any of the 3 signals, without duplicating code?

There are 3 login buttons. Each returns a signal corresponding to an asynchronous "login" API call. Once those finish, they return user objects, errors, and/or completion.

0 投票
2 回答
3454 浏览

cocoa - 如何在 ReactiveCocoa 中的信号序列之间创建延迟?

我有三个信号,我想按顺序评估它们,它们之间有一秒的延迟。

这个片段做了我想要的,但它很丑:

它打印出来:

0 投票
1 回答
1455 浏览

objective-c - 使用值和当前日期过滤 ReactiveCocoa 信号

我有两个Event对象信号。Event对象有一个date属性,该属性设置为事件创建的日期。这两个信号在创建时发送事件。

我想创建第三个信号:

  • event2.date在 的任一侧落在 1 秒内时event1.date,发送一个包含两个事件的元组
  • 当最近的 1 秒后过去event1.date,并且最近event2date不在有效范围内时,发送一个仅包含的元组event1

我正在使用combineLatest:andfilter创建一个信号,该信号使用第一个条件过滤元组:

如何制作包含这两个标准的信号?

0 投票
3 回答
5927 浏览

ios - 将 ReactiveCocoa 中的信号组合成一个新的信号,当所有变化时触发

我正在尝试学习 ReactiveCocoa,并且正在编写一个简单的 Space Invaders 克隆,基于 Ray Wenderlich 教程。最近在开发过程中,我遇到了一个我无法解决的问题。基本上我有两个信号:

  • 点击手势信号
  • 每秒触发的定时序列

我想要实现的是将这些信号组合成一个新信号,当两个信号都发生变化时触发:这可能吗?我看到了 combineLatest 方法,但是只要任何信号发生变化,就会执行该块。

我想要的伪代码是:

可能我可以通过其他方式获得相同的结果,或者这不是预期的行为或 ReactiveCocoa,但此时我想知道我是否处于正确的反应轨道。

0 投票
1 回答
1072 浏览

reactive-cocoa - 如何取消使用 RACScheduler 安排的重复工作?

我已经安排了与- (RACDisposable *)after:(NSDate *)date repeatingEvery:(NSTimeInterval)interval withLeeway:(NSTimeInterval)leeway schedule:(void (^)(void))block;. 如何取消它?

据我从描述中了解到,我应该使用RACDisposable*从这个方法返回的。我应该只调用- dispose这个对象吗?是否应该以某种方式配置取消?

谢谢

0 投票
3 回答
2726 浏览

ios - Reactive Cocoa - UITextView 的 rac_textSignal 在以编程方式设置文本时不会被调用

我正在实现一个聊天 UI,并使用 Reactive Cocoa 在用户键入时调整聊天气泡的大小。目前,我正在根据 textview 的rac_textSignal. 一切都很好 - 除了一点:当用户发送消息时,我以编程方式清除文本字段:

...但文本视图rac_textSignal没有激活。我听说这是 ReactiveCocoa 的一个特性——但是构建它的正确方法是什么?我是否需要一个 NSString 来保存currentlyTypedString,并在该字符串更新时驱动 UI 更改?

0 投票
2 回答
1117 浏览

ios - 指示属性何时返回其初始值的 RACSignal

我有一个属性 ,recording如果YESaUILongPressGestureRecognizer处于状态UIGestureRecognizerStateBeganUIGestureRecognizerStateChanged.

如何创建一个仅在recording返回NO而不是初始值时触发的信号?

0 投票
1 回答
1553 浏览

ios - 在不知道参数数量的情况下从 RACTuple 中减少值

我有一个 IBOutletCollection (TextFields)。我可以动态收集所有 rac_textSignals,但现在我想在不知道 RacTuple 将有多少参数的情况下减少这些信号的值(出口集合可能会有所不同)。

如何做到这一点?我找不到使用 combineLatest:reduce 或 reduceEach: 方法的方法。

提前致谢。

0 投票
2 回答
1677 浏览

ios - 使用 Reactive Cocoa RACSignal 启用 UIButton

UIButton添加了一个视图。我的视图也有三个文本框,即。用户名密码确认密码。基于这些文本框的合法内容,我需要启用我的注册按钮。

这是我的代码片段:-

在最后一行,我收到两个错误:-

  1. ARC不允许将'BOOL'(又名'signed char')隐式转换为'id'
  2. 预期标识符

我是 Reactive Cocoa 的新手。请忽略错误。