2015-04-08 2 views
1

Что делает срочная собственность и когда она должна использоваться? Я составляю резюме резюме, но когда пользователь прокручивает до определенной позиции, мне приходится загружать больше сообщений. Эта операция, похоже, не завершена до тех пор, пока все резюме, которые я начал показывать, не завершились. Я предполагаю, что свойство срочности даст приоритет операции загрузки сообщений над операцией рендеринга?Mailcore: Что делает «срочно» на MCOOperation?

+0

Попробуйте 'session.allowsFolderConcurrentAccessEnabled = YES'. Это должно улучшить поведение. –

+1

Я включил это на своей сессии, но он все еще работает неправильно. Я поместил NSLogs в блок завершения '' 'plainTextBodyRenderingOperation'' и' '' fetchMessagesByNumberOperationWithFolder'', и из журналов кажется, что они никогда не запускаются одновременно. Сообщения не запускаются, пока рендеринг не завершится. –

ответ

0

Проблема для меня заключалась в том, что MailCore приостанавливает операционные очереди. Мне нужно сделать резюме, поэтому создается множество plainTextBodyRenderingOperation (по одному на сообщение). Если пользователь прокручивается до определенной точки, мне нужно загрузить больше сообщений. Я должен расставить приоритеты по поводу рендеринга. Таким образом, в моем методе загрузки я устанавливаю свойство срочности на две операции, которые я запускаю, чтобы получить данные сообщения. Это означает, что как только я отправлю вызов для загрузки, эти очереди имеют приоритет, и рендеринг, кажется, продолжается, как только они будут завершены. Возможно, Хоа может дать больше информации, но это сработало для моей ситуации. Я также следовал его предложению в комментариях, чтобы разрешить одновременный доступ к папке. Это тоже помогло, но для меня ключевым был приоритет работы.