Swiftui 通用结构&x27;观察对象';要求符合';可观察对象

Swiftui 通用结构&x27;观察对象';要求符合';可观察对象,swiftui,Swiftui,我很难理解为什么下面的代码无法编译。我得到一个错误,说我必须遵守ObservieObject,我不明白为什么我不遵守 我简化了,以表明我看到了。我有两节课。第二个观察第一个,然后视图观察第二个 头等舱 import Foundation import SwiftUI import CoreBluetooth class BLEPeripheralDevice: NSObject, ObservableObject { @Published var bodySesnorLocation:

我很难理解为什么下面的代码无法编译。我得到一个错误,说我必须遵守ObservieObject,我不明白为什么我不遵守

我简化了,以表明我看到了。我有两节课。第二个观察第一个,然后视图观察第二个

头等舱

import Foundation
import SwiftUI
import CoreBluetooth

class BLEPeripheralDevice: NSObject, ObservableObject {
    @Published var bodySesnorLocation: String = ""
}
二等舱

import Foundation
import SwiftUI
import CoreBluetooth

class BLEManager: NSObject, ObservableObject {
    @ObservedObject var blePeripheralDevice: BLEPeripheralDevice!
    
    @Published var blePeripheralName: String = ""
}
看法

当我编译这段代码时,我在下面一行的第二个类中得到了一个错误

@ObservedObject var blePeripheralDevice: BLEPeripheralDevice!
通用结构“ObservedObject”需要“BLEPeripheralDevice?” 符合“可观察对象”


我不明白为什么会这样。非常感谢您的帮助。

ObservedObject是一个主要用于视图的属性包装器。请改用“已发布”

@Published var blePeripheralDevice: BLEPeripheralDevice!

拆下!标记它不能是可选的,并且包装器在类中无法工作。谢谢您的帮助!
@Published var blePeripheralDevice: BLEPeripheralDevice!