在我的应用程序第一次,我想要从ALAssetLibrary中检索所有图像。这是下次应用程序启动的时候我只想加载如果在第一次启动后添加任何图像意味着我要跟踪所有那些在应用程序的最后一次启动时间之后添加的图像,以避免每次都加载整个图像资源。
请帮助我摆脱这种情况。
提前致谢。
答案 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,但这比触摸连接到实际图像数据的任何内容要快得多。