首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通用结构“ObservedObject”要求符合“ObservableObject”

通用结构“ObservedObject”要求符合“ObservableObject”
EN

Stack Overflow用户
提问于 2021-05-04 20:55:15
回答 1查看 10.8K关注 0票数 6

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

我已经简化了,以表明我看到了。我有两堂课。第二次观察第一次,然后观点观察第二次。

一等

代码语言:javascript
复制
import Foundation
import SwiftUI
import CoreBluetooth

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

二等

代码语言:javascript
复制
import Foundation
import SwiftUI
import CoreBluetooth

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

视图

代码语言:javascript
复制
import SwiftUI

struct BluetoothDeviceView: View {
    @ObservedObject var bleManager = BLEManager()

var body: some View {
        VStack (spacing: 10) {
            Text("Bluetooth Devices")
}
}

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

代码语言:javascript
复制
@ObservedObject var blePeripheralDevice: BLEPeripheralDevice!

泛型结构“ObservedObject”要求“BLEPeripheralDevice?”符合“ObservableObject”

我不明白为什么会这样。任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-04 21:06:35

ObservedObject是一个主要用于视图的属性包装器。使用发布代替..。

代码语言:javascript
复制
@Published var blePeripheralDevice: BLEPeripheralDevice!
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67392094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档