问题标签 [combine]

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

swift - iOS 结合 Publishers.Just 已弃用

在这样的运营商链中,您曾经能够返回 Publishers.Just(defaultValue) 但它已被弃用,我再也找不到实现此功能的方法。返回默认值的新方法是什么?

0 投票
1 回答
997 浏览

ios - SwiftUI : Dismiss modal from child view

I'm attempting to dismiss a modal after its intended action is completed, but I have no idea how this can be currently done in SwiftUI. This modal is triggered by a @State value change. Would it be possible to change this value by observing a notification of sorts?

Desired actions: Root -> Initial Modal -> Presents Children -> Dismiss modal from any child

Below is what I've tried

Error: Escaping closure captures mutating 'self' parameter

ModalWithChildren test action

0 投票
3 回答
7031 浏览

swiftui - 如何在 SwiftUI 中随时从子视图作为父视图访问数据?

我是 SwiftUI 的新手,并且知道我可能需要以某种方式实现 EnvironmentObject,但我不确定在这种情况下如何实现。

这是Trade

这是子视图。它有一个类的实例tradeTrade有一个将 1 附加到 array 的按钮teamsSelected

这是父视图。如您所见,我trade进入了 child view TeamRow。我想trade与 in 同步,trade这样TeamRow我就可以传递trade.teamsSelectedTradeView.

0 投票
1 回答
2320 浏览

ios - SwiftUI:表达式类型不明确,没有更多上下文,在视图之间传递 ObservableObject 时

我在 SwiftUI 中寻找 DataStore 的示例并找到了这个示例。

但是,经过测试,我多次收到以下错误:

在没有更多上下文的情况下,表达式的类型是模棱两可的

我还尝试了相同解决方案的以下教程https://mecid.github.io/2019/07/03/managing-data-flow-in-swiftui/ 但我遇到了同样的错误。最新测试版中的绑定有什么变化吗?我正在运行 Beta 6

0 投票
1 回答
404 浏览

swift - 在 watchOS 5.2 崩溃时找不到适合组合的图像

信息

我的应用程序在运行 watchOS 4 和 5 的 Apple Watch 上崩溃。一些新功能(即Combine)依赖于 watchOS 6,并且这些方法的使用明确标记为

该应用程序是使用 Xcode 9/10 创建的(我忘了具体是哪个),并以 watchOS 4 为目标。现在,当它使用 Xcode 11 构建并且具有依赖于 Combine 的文件时,它会在 watchOS 5 Apple Watch 上崩溃。

错误是

很明显,Combine,打得不好。

此外,它不会在 watchOS 5 模拟器中启动,并且错误更能说明问题:

我试过的:

  • 我认为这可能是因为我有 watchOS 6 依赖代码,与 watchOS 5 文件混合在一起。但是,将代码移动到单独的文件后,问题仍然存在。

  • 清理项目

  • 移除Derived Data/

尽管如此,还是没有运气。我认为这是某处的构建设置,但我不会有最微弱的线索来确定哪个。

0 投票
2 回答
5983 浏览

swift - 组合中的 Publisher 与 AnyPublisher

AnyPublisher 在 Combine 中的作用是什么,以及为什么在许多示例中,包括在WWDC Combine 中,在实践中,27:40他们返回 AnyPublisher,使用.eraseToAnyPublisher,而不仅仅是返回一个 Publisher?

苹果文件

使用 AnyPublisher 包装一个发布者,其类型包含您不想向订阅者或其他发布者公开的详细信息。

但是任何人都可以举一个例子说明它在哪里有用吗?

0 投票
1 回答
5686 浏览

swift - 为什么 URLSession.DataTaskPublisher 不发布值?

在 Xcode 11 beta 5 或 6 中,我依赖的现有代码URLSession.DataTaskPublisher停止工作。似乎DataTaskPublisher从未发布任何值,但我不知道为什么。

我已经尝试过.sink.handleEvents作为订阅者。我已经与发布者一起测试了 .sinkJust并确认它在那里收到了一个值。

我也尝试过给DataTaskPublisheraURL和给它 a URLRequest。我尝试了对 API 的请求,包括授权标头,以及对 google.com 和 apple.com 的基本请求。我已经尝试使用URLSession.shared并创建一个新的URLSession. 我也尝试过使用和不使用mapanddecode运算符。

我已经使用XCTest期望来确认测试每次都会超时,即使我给它一个 4 分钟的超时时间。

我刚刚创建了一个新的示例项目,并在根视图控制器中使用以下代码复制了问题:

该项目打印“视图确实加载”但没有其他任何打印。关于我在哪里出错的任何想法?谢谢!

0 投票
2 回答
3171 浏览

ios - Swift Combine:没有“distinct”运算符?

似乎 Combine(随 Xcode 11 beta 7 提供)缺少distinct操作员?

谁能帮我建一个?:)

0 投票
1 回答
990 浏览

swift - 如何使用组合来分配从核心数据获取请求返回的元素数量?

我希望我的应用程序定期获取新记录并将它们存储在核心数据中。我的 UI 上有一个标签,应该显示特定记录的元素数量,并且我希望随着更多记录添加到数据库中来更新该数字。作为练习,我想使用 Combine 来完成它。

当应用程序启动时,我能够显示数据库中的元素数量,但是当新数据进入数据库时​​,数字不会更新(我通过实现一个手动刷新的按钮验证了新数据正在添加用户界面)。

这是在启动时显示正确数量的元素但在添加新记录时不更新的代码:

这是我改编的 WWDC 2019 Session 230 演讲的代码片段,但这根本不起作用(订阅者永远不会被解雇):

0 投票
2 回答
6930 浏览

swift - Swift 组合链接 .mapError()

我正在尝试实现类似于下面呈现的场景(创建 URL、对服务器的请求、解码 json、包含在自定义NetworkError枚举中的每个步骤的错误):

我在组合中的解决方案有效:

但我真的不喜欢这条线

我的问题:

  1. 有没有更好的方法使用组合中的链接来映射错误(并替换上面的行)?
  2. 有什么办法可以先guard let包含Fail(error:)在链中?