事件监听
GizSdkEventHandlerDelegate 的四个方法都需要实现。先设置 delegate,再初始化 SDK,避免遗漏初始化期间的事件。
import GizwitsiOSSDK
final class SDKModel: GizSdkEventHandlerDelegate {
func start(config: GizConfigStruct) {
GizSDKManager.sharedInstance.setDelegate(delegate: self)
GizSDKManager.sharedInstance.initSDK(config: config)
}
func onDeviceListUpdate(devices: [GizDevice]) {
// Update the device list.
}
func onDeviceData(device: GizDevice, result: GizJSON, type: GizCapability) {
// Handle device data.
}
func onDeviceState(device: GizDevice, state: GizWifiDeviceNetStatus,
isLogin: Bool, type: GizCapability) {
// Handle connectivity and authentication state.
}
func onDeviceBindState(did: String, isBind: Bool) {
// Handle cloud binding changes.
}
}设备列表也可通过 await GizSDKManager.sharedInstance.getDevices() 主动获取,返回 [GizDevice],不是 GizResult。更新 UI 时切换到主线程。