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

ios - 类似类型:不能专门化非泛型定义

我有一个控制器,我需要在其中导入两个 pod。

问题是两者都有一个名为Property.

现在,如果我在导入两个 pod 时使用它,那么它会给我编译时错误Cannot specialize a non-generic definition

对于解决方法,

我创建了一个单独的文件并向控制器添加了扩展名,仅在其中导入了 Realm。并将 ReactiveSwift 保存在控制器文件中。这有助于我防止错误。但这是最好的方法吗?

0 投票
3 回答
1209 浏览

swift - 有没有办法在不需要所有信号最初触发的情况下制作类似于 combineLatest 的信号?

我有一系列信号

在哪里

我想创建一个组合信号,如果一个或多个信号触发一个返回 true.pending

我唯一的问题是,combineLatest 只有在所有信号都至少触发一次时才会触发,并且无论是否所有信号都已触发,我都需要我的信号触发。有没有办法在 ReactiveSwift 中做到这一点?

0 投票
1 回答
128 浏览

ios - 使用未声明的类型'SignalProducerType

我是 ReactiveCocoa 和 ReactiveSwift 的新手,在更新代码后,我的任务是从 Swift2 更新到 Swift4 ? 请帮我解决这个问题我正在使用 ReactiveCocoa 7.1.0

0 投票
0 回答
297 浏览

reactive-cocoa - 在 NSObject 子类的初始化程序中设置时,ReactiveSwift 观察者不起作用

当我在类的初始化程序中设置观察者时,我遇到了一个奇怪的问题,从 NSObject 子类化并且无论出于何种原因它都没有被调用。我尝试删除duringLifetimeOf操作员并使用一次性物品保留仅用于处理deinit,这也可以。

PS:当我不从NSObject. 下面的一些示例代码 -

0 投票
1 回答
578 浏览

iphone - 如何在 ReactiveSwift 中中断 SafeSignal?

嗨,我是反应迅速的新手。在我的新项目中,我使用的是 ReactiveSwift。我通过使用 SafeSignal 变量来观察价值。我想在获得值之前中断信号。请帮我解决这个问题。

0 投票
1 回答
425 浏览

ios - ReactiveCocoa 如何监听数据模型属性的变化

这里是 ReactiveCocoa 的新手。我有一个(MVVM)视图模型,它代表一个类似新闻提要的页面,收听数据模型属性变化的正确方法是什么?在以下示例中,startUpdate()不断更新post. 计算的属性messageToDisplayshouldShowHeart驱动一些 UI 事件。

在我看来,为了使整个事情具有反应性,我必须听取每个属性Post和所有计算属性?我看起来不太对劲。

0 投票
1 回答
360 浏览

ios - MutableProperty:值访问的执行方法

我正在使用 ReactiveSwift + SDWebImage 下载/缓存 API 的 userAvatars,然后将它们显示在我的 ViewControllers 中。

我有多个 ViewControllers 想要显示 userAvatar,然后他们监听它的异步加载。

我实施下述流程的最佳方式是什么?

我想在这里创建的流程是:

  1. ViewControllerA想访问用户头像
  2. 这是第一次访问 userAvatar 然后发出 API 请求
  3. ViewControllerA监听 userAvatar 信号
  4. ViewControllerA临时显示占位符
  5. ViewControllerB想访问用户头像
  6. ViewControllerB监听 userAvatar 信号
  7. ViewControllerB临时显示占位符
  8. userAvatar 的 API 请求完成,然后发送 viewcontrollers 观察到的信号
  9. 视图控制器正在刷新他们UIImageView的新鲜图像

这是我的实际代码:

没觉得user.loadAvatarImage()听信号前打电话很干净……

我知道我的代码不是那么“反应性”,我仍然是反应性概念的新手。随意批评,我正在努力提高自己

提前感谢您的建议。

0 投票
1 回答
1348 浏览

swift - 如何在swift中使用反应可可组合三个信号?

我已阅读文档,看起来“和”不适合组合信号。然后,我研究了“combineLatest”,但它希望每个信号至少返回一个值。我的用例是我有三个独立的信号,它们之间没有关系。我只想将它们完全结合起来并在一个地方观察并在封闭内进行相应的处理。

例如:

0 投票
1 回答
2095 浏览

ios - 如何使用 ReactiveSwift 将有错误的信号转换为 NoError 信号?(并且要优雅)

将我的 ReactiveSwift 转换为 的最优雅的方法SignalProducer<A, NetworkError>Signal<A, NoError>什么?

大多数时候,我的信号生产者是网络调用的结果,所以我想将结果分为两种情况:

  • 如果值可用,则发送Signal<A, NoError>
  • 如果发生错误,发送Signal<String, NoError>带有错误本地化描述的

(为什么?因为我想尽可能地成为 MVVM

到目前为止,我最终写了很多样板文件,如下所示:

IE:

  1. 使用MutableProperty实例,我必须将其设置为可选才能初始化它们
  2. 从这些创建信号,即也获得一个发送选项的信号
  3. 感觉很脏,使代码如此交织在一起,有点破坏了反应的意义

对于(A)保持我的信号非可选和(B)将它们优雅地分成 2 个NoError信号的任何帮助将不胜感激。

0 投票
1 回答
326 浏览

frp - 根据计时器和结果重置 SignalProducer 状态

我有一个SignalProducer producer异步发送Ints的。我可以将这些值与

假设我想将总和重置为0如果它是> 10并且 1 秒内没有发送其他值。我的第一次尝试是这样的:

虽然这会正确发送0,但它不会重置 中的状态scan。即,一系列9, 8, long pause, 7发送9, 17, 0, 24

有没有办法以正确重置状态的方式结合这两个概念?