从 ALAssetsLibraryChangedNotification 通知中找出新添加的 ALAsset

Posted

技术标签:

【中文标题】从 ALAssetsLibraryChangedNotification 通知中找出新添加的 ALAsset【英文标题】:Find out newly added ALAsset from ALAssetsLibraryChangedNotification notification 【发布时间】:2014-05-05 10:27:39 【问题描述】:

有没有办法从 ALAssetsLibraryChangedNotification 的用户信息中找出现在新添加的资产?

我已注册到 ALAssetsLibraryChangedNotification,并且在我的回调方法中收到了一个电话。在这里,我正在检查通知参数中的用户信息。但是我无法从用户信息中找到新添加/删除的资产。真的可以从用户信息中检索这些数据吗?或者我应该再次扫描整个库以找出现在添加的资产

【问题讨论】:

【参考方案1】:

我从下面的苹果文档中得到了一些答案,

ALAssetsLibraryChangedNotification

当资产库的内容从使用数据的应用下发生更改时发送。 在 ios 4.0 中,通知的对象是 nil。

在 iOS 4.1 及更高版本中,通知对象是发布通知的库对象。

在 iOS 6.0 及更高版本中,用户信息字典描述了更改内容:

    如果用户信息字典为 nil,则重新加载所有资产和资产组。 如果用户信息字典为空字典,则无需重新加载资产和资产组。 如果用户信息字典不为空,则重新加载受影响的资产和资产组。使用的密钥见“Notification Keys.”

此通知在任意线程上发送。

希望这会有所帮助。

【讨论】:

以上是关于从 ALAssetsLibraryChangedNotification 通知中找出新添加的 ALAsset的主要内容,如果未能解决你的问题,请参考以下文章

从PRISM开始学WPFMVVMViewModel?

在 python 中,为啥从数组读取比从列表读取慢?

从图库中挑选或从相机捕获的高质量图像

从PRISM开始学WPFMVVMCommand?

从PRISM开始学WPFPrism?

mysql 主-主-从-从