【发布时间】:2020-11-19 02:28:15
【问题描述】:
我遇到以下致命错误:
SwiftUI 致命错误:未找到类型为“ ”的 ObservableObject 并且发生@EnvironmentObject 错误:可能缺少此视图的祖先”。
Xcode 版本:
Xcode:12.1 和核心蓝牙
我的代码如下:
ble.swift
import CoreBluetooth
・・・
class BLEConnection:NSObject, CBPeripheralDelegate,CBCentralManagerDelegate,ObservableObject
{
@EnvironmentObject var GS: GlobalStatus
・・・・
func startCentralManager()
{
//Process of start BLE Scan
}
public func centralManager(・・・) ← Scanned Peripheral
{
let localName:String
if(localName == GS.beaconid) ← ★★★Fatal Error Occured this point.★★★
{
・・・・
}
・・・・
GlobalStatus.swift
class GlobalStatus: ObservableObject
{
@Published var beaconid = "ID001"
}
项目名称.swift
@main
struct ProjectName: App
{
let persistenceController = PersistenceController.shared
var body: some Scene
{
WindowGroup
{
ContentView()
.environment(\.managedObjectContext,persistenceController.container.viewContext)
.environmentObject(GlobalStatus())
}
}
}
ContentView.swift
・・・
struct ContentView: View
{
@ObservedObject var bke = BLEConnection()
var body: some VIew
{
NavigationView
{
Text("Test")
}.onAppear(perform: ble.startCentralManager)
}
}
我该如何解决这个问题? 提前致谢。
【问题讨论】: