我很难理解为什么下面的代码不会编译。我得到了一个错误,说明我必须遵守ObservableObject,我不明白为什么我不会。
我已经简化了,以表明我看到了。我有两堂课。第二次观察第一次,然后观点观察第二次。
一等
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 = ""
}视图
import SwiftUI
struct BluetoothDeviceView: View {
@ObservedObject var bleManager = BLEManager()
var body: some View {
VStack (spacing: 10) {
Text("Bluetooth Devices")
}
}当我编译这段代码时,我会在下面一行的第二个类中得到一个错误。
@ObservedObject var blePeripheralDevice: BLEPeripheralDevice!泛型结构“ObservedObject”要求“BLEPeripheralDevice?”符合“ObservableObject”
我不明白为什么会这样。任何帮助都是非常感谢的。
发布于 2021-05-04 21:06:35
ObservedObject是一个主要用于视图的属性包装器。使用发布代替..。
@Published var blePeripheralDevice: BLEPeripheralDevice!https://stackoverflow.com/questions/67392094
复制相似问题