Как отслеживать операции MailCore

Я пытаюсь построить почтовый клиент OS X, используя MailCore2, и мне нужно знать, какие текущие операции выполняются в данный момент, и в каком состоянии они находятся - подумайте в окне мониторинга активности Mail.app.

У меня есть некоторые вещи, которые я мог бы использовать в API: MCOIMAPSession объект имеет operationQueueRunningChangeBlock свойство, но оно только сообщает мне, когда сеанс меняет состояние (выполняется => не выполняется), но этого недостаточно.

Прямо сейчас я думаю, что мне придется подкласс / обернуть те, чтобы делать то, что я хочу.

1 ответ

MailCore не предоставляет API для отслеживания выполняемых операций, как и мы, потому что это ваша работа. Типичным шаблоном для реализации этого может быть либо создание подкласса классов операций, чтобы пометить каждый из них каким-либо объектом активности, либо агрегирование действий в отдельной очереди и push и pop по мере того, как операции ставятся в очередь и удаляются из очереди соответственно. Блоки завершения каждого запроса в интерфейсе Objective-C должны обеспечивать достаточно состояния каждой операции для вас, а некоторые конкретные виды операций даже включают блоки / ловушки прогресса.

Другие вопросы по тегам