【发布时间】:2020-08-28 22:11:39
【问题描述】:
我正在尝试为我的 SwiftUI 屏幕创建一个数据模型。 我面临的问题是我使用 Core NFC 扫描 NFCTag(执行一些任务),然后我想更新 SwiftUI 屏幕。数据获取/操作是异步发生的。
查看
struct NFCTest: View {
@EnvironmentObject var nfcController: NFCController
var body: some View {
VStack {
Button(action: {
self.nfcController.beginScanning()
}) {
Text("Button")
}
NFC控制器
final class NFCController: UIViewController, ObservableObject {
@Published var someObject :ObjectStruct //someObject contains a @Published var someVar
//Tag detected
func doSomeAsyncCalls {
//calling functions in other swift files. runs async on another thread. Should change someVar at the end of the calculation
}
现在的问题是嵌套的 Observable 对象在 SwiftUI 中不起作用。我试图在 NFCController 中创建一个可观察的 var,并在该 var 中创建了一个已发布的 var。但是在 SwiftUI 中不会触发更改。
有解决这个异步数据流问题的概念吗?
【问题讨论】:
-
什么是
ObjectStruct?
标签: swift swiftui combine core-nfc