ios – 如何观察NSMetadataItem进行iCloud更新?

ios – 如何观察NSMetadataItem进行iCloud更新?,第1张

概述苹果 code example建议观察 NSMetadataQueryDidUpdateNotification以检测iCloud中的变化,但每次iCloud交易会多次触发. 每次NSMetadataQueryDidUpdateNotification触发时,他们的应用程序都会处理“fileListReceived”消息中的文件. 对于具有许多文档的应用程序,这不是理想的解决方案 voromax建 苹果 code example建议观察 NSMetadataQueryDidUpdateNotification以检测iCloud中的变化,但每次iCloud交易会多次触发.
每次NSMetadataqueryDIDUpdateNotification触发时,他们的应用程序都会处理“fileListReceived”消息中的文件.

对于具有许多文档的应用程序,这不是理想的解决方案

voromax建议here更好的解决方案是观察NSMetadataItem的属性值.

任何人都可以解释/显示/详细说明这将如何工作,或提供替代解决方案?

解决方法 NSMetadataquery适用于在iCloud文件容器中查看出现或消失的文件(即添加或删除).虽然你的通知可以经常启动,但是你的应用中它是否是次优的,这取决于你对返回的数据做了什么.该示例每次都会重新加载整个列表,但如果您需要处理许多可能经常更新的文档,您可以提出一种更复杂的方法,只对更改进行 *** 作.

要查看容器中文档的更改(内容)(例如,如果它们是打开的,并且您希望使用更改来更新UI),则需要将元数据查询与观察UIdocumentStateChangednotification结合使用,以便在此上下文中关注您关注的每个文档.它将告诉您文档何时更新并且您可以做出反应 – 更新UI等…

我相信您链接的问题是讨论使用KVO跟踪单个返回的NSMetadataItems的属性,特别是下载状态,以确定文档何时完成从iCloud下载(或上载).例如,这对于显示进度条很有用.这不是UIdocumentStateChangednotification的一个很好的替代品,但它可能是一个很好的赞美.为了真正拥有强大的UIdocument / iCloud实现,许多应用程序结合了所有这些方法,为用户提供最佳体验.

希望有所帮助.

总结

以上是内存溢出为你收集整理的ios – 如何观察NSMetadataItem进行iCloud更新?全部内容,希望文章能够帮你解决ios – 如何观察NSMetadataItem进行iCloud更新?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1035936.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-24
下一篇2022-05-24

发表评论

登录后才能评论

评论列表(0条)

    保存