问题标签 [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.
swift - iOS 结合 Publishers.Just 已弃用
在这样的运营商链中,您曾经能够返回 Publishers.Just(defaultValue) 但它已被弃用,我再也找不到实现此功能的方法。返回默认值的新方法是什么?
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
swiftui - 如何在 SwiftUI 中随时从子视图作为父视图访问数据?
我是 SwiftUI 的新手,并且知道我可能需要以某种方式实现 EnvironmentObject,但我不确定在这种情况下如何实现。
这是Trade
课
这是子视图。它有一个类的实例trade
。Trade
有一个将 1 附加到 array 的按钮teamsSelected
。
这是父视图。如您所见,我trade
进入了 child view TeamRow
。我想trade
与 in 同步,trade
这样TeamRow
我就可以传递trade.teamsSelected
给TradeView
.
ios - SwiftUI:表达式类型不明确,没有更多上下文,在视图之间传递 ObservableObject 时
我在 SwiftUI 中寻找 DataStore 的示例并找到了这个示例。
但是,经过测试,我多次收到以下错误:
在没有更多上下文的情况下,表达式的类型是模棱两可的
我还尝试了相同解决方案的以下教程https://mecid.github.io/2019/07/03/managing-data-flow-in-swiftui/ 但我遇到了同样的错误。最新测试版中的绑定有什么变化吗?我正在运行 Beta 6
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/
尽管如此,还是没有运气。我认为这是某处的构建设置,但我不会有最微弱的线索来确定哪个。
swift - 组合中的 Publisher 与 AnyPublisher
AnyPublisher 在 Combine 中的作用是什么,以及为什么在许多示例中,包括在WWDC Combine 中,在实践中,27:40他们返回 AnyPublisher,使用.eraseToAnyPublisher
,而不仅仅是返回一个 Publisher?
苹果文件说
使用 AnyPublisher 包装一个发布者,其类型包含您不想向订阅者或其他发布者公开的详细信息。
但是任何人都可以举一个例子说明它在哪里有用吗?
swift - 为什么 URLSession.DataTaskPublisher 不发布值?
在 Xcode 11 beta 5 或 6 中,我依赖的现有代码URLSession.DataTaskPublisher
停止工作。似乎DataTaskPublisher
从未发布任何值,但我不知道为什么。
我已经尝试过.sink
并.handleEvents
作为订阅者。我已经与发布者一起测试了 .sinkJust
并确认它在那里收到了一个值。
我也尝试过给DataTaskPublisher
aURL
和给它 a URLRequest
。我尝试了对 API 的请求,包括授权标头,以及对 google.com 和 apple.com 的基本请求。我已经尝试使用URLSession.shared
并创建一个新的URLSession
. 我也尝试过使用和不使用map
anddecode
运算符。
我已经使用XCTest
期望来确认测试每次都会超时,即使我给它一个 4 分钟的超时时间。
我刚刚创建了一个新的示例项目,并在根视图控制器中使用以下代码复制了问题:
该项目打印“视图确实加载”但没有其他任何打印。关于我在哪里出错的任何想法?谢谢!
ios - Swift Combine:没有“distinct”运算符?
似乎 Combine(随 Xcode 11 beta 7 提供)缺少distinct
操作员?
谁能帮我建一个?:)
swift - 如何使用组合来分配从核心数据获取请求返回的元素数量?
我希望我的应用程序定期获取新记录并将它们存储在核心数据中。我的 UI 上有一个标签,应该显示特定记录的元素数量,并且我希望随着更多记录添加到数据库中来更新该数字。作为练习,我想使用 Combine 来完成它。
当应用程序启动时,我能够显示数据库中的元素数量,但是当新数据进入数据库时,数字不会更新(我通过实现一个手动刷新的按钮验证了新数据正在添加用户界面)。
这是在启动时显示正确数量的元素但在添加新记录时不更新的代码:
这是我改编的 WWDC 2019 Session 230 演讲的代码片段,但这根本不起作用(订阅者永远不会被解雇):
swift - Swift 组合链接 .mapError()
我正在尝试实现类似于下面呈现的场景(创建 URL、对服务器的请求、解码 json、包含在自定义NetworkError
枚举中的每个步骤的错误):
我在组合中的解决方案有效:
但我真的不喜欢这条线
我的问题:
- 有没有更好的方法使用组合中的链接来映射错误(并替换上面的行)?
- 有什么办法可以先
guard let
包含Fail(error:)
在链中?