我试图将信息从手表发送到手机。如果未连接电话,请稍后发送信息。但是,在实际手表上进行测试时,似乎未调用错误处理程序。我的sendFlag不是假的。
func sendMessageToPhone(paraMessage: Dictionary<String, Any>) -> Bool
{
var sentFlag : Bool
sentFlag = true
session.sendMessage(paraMessage, replyHandler: nil,
errorHandler: { (_ error: Error) -> Void in
sentFlag = false
})
return sentFlag
}
最佳答案
当相应事件发生时,将异步调用处理程序。另一方面,该函数将在调用sendMessage方法后立即返回。因此,您的函数将始终返回true。
您要么需要在错误处理程序中实现对新消息的调度,或者如果已经在其他地方调度了周期性的后台任务,则将sendFlag实现为您的类属性,而不是局部变量。