2016-02-16 2 views
0

У меня есть приложение WatchOS2, которое отображает данные на часах после вызова NSURLSession. Так как реакция занимает некоторое время, если пользователь открывает другой контроллер интерфейса другого вызов идет кWatchkit: обрабатывать несколько сеансов sendMessageData запросов

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

Но если предыдущий выход апи приходит тогда он возвращает данные через ответ. Опять же, второй вывод данных также должен быть отправлен. Таким образом, это приводит к сбою, и мое приложение зависает.

Есть ли способ остановить предыдущий ответ от отправки, закрыв запрос?

ответ

0

Нет, отменить предыдущий запрос нет. Похоже, что вы делаете «в настоящее время видимый интерфейсный контроллер» делегатом WCSession, который будет смешивать множество обязанностей. Вместо этого я бы предложил добавить что-то вроде одноэлементного класса, который является постоянным делегатом WCSession; и он сохраняется, уведомляет или отправляет входящие данные в нужное место.

+0

Спасибо .. Я добавлю класс singleton и попробую его – JMS