我有一个WatchOS2应用程序,在调用NSURLSession后会在手表上显示数据。由于响应需要一些时间,如果用户打开另一个接口控制器,则另一个呼叫转到
- (void)session:(WCSession *)session didReceiveMessageData:(NSData *)messageData replyHandler:(void(^)(NSData *replyMessageData))replyHandler
但如果先前的api输出出现,那么它会通过回复返回数据。同样应该发送第二个数据输出。所以这是一个崩溃,我的应用程序挂起。
有没有办法通过关闭请求来停止发送上一个回复?
答案 0 :(得分:0)
不,无法取消之前的请求。听起来你正在使“当前可见的接口控制器”成为WCSession的代表,这将混合很多职责。相反,我建议添加类似于单例类的东西,它是WCSession的永久委托;它会持续存在并通知或将传入的数据发送到正确的位置。