如何为SwiftUI Observable对象使用receive(on:)[关闭]

cqoc49vn  于 11个月前  发布在  Swift
关注(0)|答案(1)|浏览(100)

**已关闭。**此问题不符合Stack Overflow guidelines。目前不接受回答。

这个问题似乎与help center中定义的范围内的编程无关。
19天前关闭
Improve this question
SwiftUI要求发布者在主线程上发布值,否则必须由观察者使用receive(on:options)在主线程上接收值。前者需要仔细编写发布者代码,以运行在@MainActor上更改发布值的代码(我一直在关注)。但我想知道第二种选择,即观察者如何选择在主线程上接收值?假设我在SwiftUI视图中有这样的东西

@EnvironmentObject private var store:Store

字符串
如果Store确认为ObservableObject,我如何在SwiftUI视图中将receive(on:options)用于Store发出的任何@Published属性?

taor4pac

taor4pac1#

使用onReceive(_:perform:)修饰符:link

.onReceive(store.$yourPublishedProperties, perform: { value in
    // Perform actions
})

字符串

相关问题