如何通过iOS应用程序跟踪资产库中添加的图像

时间:2015-02-20 12:26:45

标签: ios objective-c

在我的应用程序第一次,我想要从ALAssetLibrary中检索所有图像。这是下次应用程序启动的时候我只想加载如果在第一次启动后添加任何图像意味着我要跟踪所有那些在应用程序的最后一次启动时间之后添加的图像,以避免每次都加载整个图像资源。

请帮助我摆脱这种情况。

提前致谢。

2 个答案:

答案 0 :(得分:0)

您可以侦听ALAssetsLibraryChangedNotification通知。

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reloadAlbum) name:ALAssetsLibraryChangedNotification object:nil];

在reloadAlbum中从资源库加载相册组以获取更新的对象。

Apple文档:

ALAssetsLibraryChangedNotification

  

当资产库的内容从下面更改时发送   正在使用数据的应用。收到此通知后,   您应该丢弃任何缓存的信息并查询资产库   再次。您应该认为任何ALAsset,ALAssetsGroup或   完成后您引用的ALAssetRepresentation对象   处理通知。

     

在iOS v4.0中,通知的对象为零。在iOS v4.1及更高版本中,   通知对象是发布的库对象   通知。

答案 1 :(得分:0)

您必须手动跟踪已处理的“已处理”图像。您可以在ALAssetPropertyAssetURL的基础上执行此操作。您仍然需要枚举所有ALAssetGroups和ALAssets,但这比触摸连接到实际图像数据的任何内容要快得多。