问题标签 [reactive-swift]

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

ios - ReactiveSwift 刷新数据

我是 ReactiveSwift 的初学者。这是在我的视图模型中获取代码:

当在 ViewController 中调用 viewDidLoad 时,视图模型开始获取数据。如何告诉 VC fetch 结束并且可以调用 refreshData?是否有可能捕获 viewDidLoad 函数的结尾,我的意思是在获取之后。

初始化代码:

0 投票
1 回答
225 浏览

swift - 如何使用功能性 reactSwift 泛化来自属性的表单输入?

在做带有字段的表单时,如果我经常做更改,我想发送

在哪里

得到一个在加载时触发一次的信号,所以当用户点击一个按钮时,我可以在 combineLatest 中使用它,该按钮将触发一个带有表单值的 Web 请求到服务器。由于此信号合并,它将给出在初始值之后发生变化的所有值,允许我在用户点击提交按钮时发送最新值

这个用法通常是这样的

如果值发送为零,我只是不将它们包含在网络请求中,但如果其中一些被用户更改,我会得到其他值。

由于这是一种相当常见的模式,我想将其推广到单个函数,例如

我试过写

哪个在纸上看起来不错,但会返回字符串?对于给出的示例,并且不起作用。

我也尝试将其编写为 Signal 上的静态函数,但没有运气。

0 投票
1 回答
739 浏览

swift - ReactiveSwift 从数组中发出元素,元素之间有延迟

假设我有一个元素数组和几秒钟[1, 2, 3]的延迟。5

我想发出数组的每个元素,在当前发出的元素和下一个发出的元素之间有一个暂停。

例子:

输出:

我尝试执行以下操作:

但它只会延迟第一个元素的发射并立即发射下一个元素。

我找不到合适的运算符组合来使用,也许它们在 ReactiveSwift 框架中丢失了,而且我是 Reactive 编程的初学者,所以实现我自己的运算符太难了。

0 投票
1 回答
154 浏览

reactive-cocoa - 反应性可可强制同步函数等待反应性回调

我做了很多研究,但没有得到任何答案。

这是我的代码:

我试图找到一种方法让函数“getChannelName”等到从反应请求(来自另一台服务器)中检索到“channelName”。

谢谢你的帮助。

0 投票
2 回答
695 浏览

ios - KVO 不适用于 NSManagedObject 的自定义属性

我有一个 NSManagedObject 的子类Folder,其状态为Availability

每当可用性发生变化时,文件夹都必须做额外的事情(例如删除相关文件)。所以我有

  1. internalAvailability保存在核心数据中
  2. availability使用上述属性计算的属性

`

使用 Reactive,我想根据可用性更改导航项的标题,但信号永远不会被调用一次!

```

我已明确将 KVO 合规性添加到该属性中,希望这可以开始工作,但遗憾的是没有结果。

编辑:如果我创建DynamicPropertyoninternalAvailability而不是availability,一切顺利..

0 投票
2 回答
810 浏览

swift - 如何观察 SignalProducer 数组的新值

我有一个SignalProducer包含一个数组,我只想观察新的变化,而不是在观察它时得到整个数组

我尝试了 flatMap.latest但它不起作用

任何人都知道如何做到这一点?

0 投票
1 回答
868 浏览

swift - 后台线程中的 moya 请求

我想知道如何在后台线程中发出请求,我的意思是在后台线程中获取然后返回主线程

目前我可以在请求后通过调用进入主线程:

.observe(on: UIScheduler())

但是我没有成功在另一个线程中提出请求,您认为在另一个线程中提出请求是个好主意吗?

0 投票
1 回答
223 浏览

swift - 如何处理反应式编程更新和 CollectionView

我有一个可以向MutableProperty<[Stuff]>

但是当我重新加载collectionViewwith 时collectionView.reloadData()。Web 套接字向 中添加或删除数据MutableProperty<[Stuff]>,因此会崩溃

由于多种原因,这里有一些错误:

  • 当 collectionView 方法使用我的列表时索引超出范围
  • 无效的项目数会导致崩溃,例如:Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid update: invalid number of sections. The number of sections contained in the collection view after the update (58) must be equal to the number of sections contained in the collection view before the update (59), plus or minus the number of sections inserted or deleted (0 inserted, 0 deleted).'

任何人都有一个好的建议或最佳实践来做到这一点?我已经看到 MutableProperty 是线程安全的

我知道它为什么会崩溃。它崩溃是因为 websockets 在 期间添加或删除数组中的值reloadDatacollectionView但我不知道如何解决它。我知道我们可以使用信号量,但我正在寻找优雅的东西

0 投票
2 回答
79 浏览

swift - 给定一个计时器列表,如果其中一个完成,如何输出,同时还能够重置列表?

我有一个输出信号,当给定的一组定时器超时、完成或整个列表被重置时,它应该输出。

输出信号:

输入:

它应该输出所有正在运行的设备操作的数组。

我已经尝试将其发送到 .scan 以在每次触发时累积addAction,并在每次触发时重置resetAllActions,但由于无法知道其中的触发,我无法使逻辑正常工作。我怎样才能既累积一个不断增长的列表,同时又能够运行它并能够在我想要的时候重置它?

0 投票
1 回答
1009 浏览

swift - ReactiveSwift 的终身目标

我已经使用 ReactiveSwift 几个月了,但是有一个我不完全理解的东西:生命周期对象。

例如,假设我有一个SignalProducer将进行 API 调用的函数,它包含在一个类中:

我的问题是:有必要lifetime在这种情况下使用吗?

我知道这lifetime将保留服务调用,因此它在返回时会有一些东西,但由于这也被包裹起来,ServiceWrapped我认为使用并不是lifetime真正必要的。

提前致谢。