Watchkit:处理多个会话sendMessageData请求

时间:2016-02-16 08:49:42

标签: ios watchkit watch-os-2

我有一个WatchOS2应用程序,在调用NSURLSession后会在手表上显示数据。由于响应需要一些时间,如果用户打开另一个接口控制器,则另一个呼叫转到

- (void)session:(WCSession *)session didReceiveMessageData:(NSData *)messageData replyHandler:(void(^)(NSData *replyMessageData))replyHandler

但如果先前的api输出出现,那么它会通过回复返回数据。同样应该发送第二个数据输出。所以这是一个崩溃,我的应用程序挂起。

有没有办法通过关闭请求来停止发送上一个回复?

1 个答案:

答案 0 :(得分:0)

不,无法取消之前的请求。听起来你正在使“当前可见的接口控制器”成为WCSession的代表,这将混合很多职责。相反,我建议添加类似于单例类的东西,它是WCSession的永久委托;它会持续存在并通知或将传入的数据发送到正确的位置。