【问题标题】:Mailcore: What does 'urgent' do on MCOOperation?Mailcore:MCOOperation 上的“紧急”有什么作用?
【发布时间】:2015-06-13 19:01:55
【问题描述】:

紧急属性有什么作用,应该在什么时候使用?我正在呈现消息摘要,但是当用户滚动到某个位置时,我必须下载更多消息。在我开始渲染的所有摘要完成之前,此操作似乎还没有完成。我假设紧急属性会使消息下载操作优先于呈现操作?

【问题讨论】:

  • 试试session.allowsFolderConcurrentAccessEnabled = YES。它应该会改善行为。
  • 我在我的会话中启用了它,但它仍然无法正常工作。我已将 NSLogs 放置在 plainTextBodyRenderingOperationfetchMessagesByNumberOperationWithFolder 的完成块中,从日志中可以看出它们从未同时运行。在渲染完成之前不会开始获取消息。

标签: ios mailcore2


【解决方案1】:

对我来说,问题是 MailCore 如何优先处理操作队列。我需要呈现摘要,因此正在创建大量plainTextBodyRenderingOperation(每条消息一个)。如果用户滚动到某个点,我需要下载更多消息。我必须优先考虑这一点而不是渲染。因此,在我的下载方法中,我在运行的两个操作上设置了紧急属性以获取消息数据。这意味着只要我发送调用以下载这些队列就会优先,并且一旦完成,渲染似乎就会继续。也许 Hoá 可以提供更多见解,但这对我的情况有用。我还按照他在 cmets 中的建议允许并发文件夹访问。这也有帮助,但对我来说,关键是操作优先级。

【讨论】:

    猜你喜欢
    • 2021-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-05
    • 1970-01-01
    • 2012-08-14
    • 1970-01-01
    • 2011-05-10
    相关资源
    最近更新 更多