从 ExtensionDelegate class- WatchKit 调用 WKInterfaceController



我正在调用

`[[WCSession defaultSession] updateApplicationContext:message error:error]` 

在我的方法中触发

 `-(void)session:(WCSession *)session didReceiveApplicationContext:(NSDictionary<NSString *,id> *)applicationContext`

方法在ExtensionDelegate .但是从这里我想在WKInterfaceController中调用一个公共方法来更新我的 UI。我不想重新加载根控制器,因为这个特定的控制器不是根控制器。是否可以从ExtensionDelegate调用任何公共方法。我可以打电话吗

-(void)session:(WCSession *)session didReceiveApplicationContext:(NSDictionary<NSString *,id> *)applicationContext

从接口控制器中的某个地方而不是ExtensionDelegate

您可以使用WCSession

public func sendMessage(message: [String : AnyObject], replyHandler: (([String : AnyObject]) -> Void)?, errorHandler: ((NSError) -> Void)?) 

这将调用WCSessionDelegate

public func session(session: WCSession, didReceiveMessage message: [String : AnyObject], replyHandler: ([String : AnyObject]) -> Void)

委托类中的方法。这可以从应用程序和扩展程序用于即时消息传输。阅读更多

最新更新