使用ALAssetsLibrary访问单个图像

Jac*_*cob 9 iphone photo objective-c alasset alassetslibrary

请允许我先说这是我第一次使用ALAssetsLibrary.我需要访问用户保存的照片库中的最新照片.似乎要做到这一点,我必须创建一个ALAssetsLibrary实例并迭代用户库中的每个项目,然后再选择最后一个图像.这总是最糟糕的情况.是否有更快/更好的方法来解决这个问题?

adr*_*aan 15

您不必枚举用户图库中的所有照片.ALAssetsGroup类有一个方法- (void)enumerateAssetsAtIndexes:(NSIndexSet *)indexSet options:(NSEnumerationOptions)options usingBlock:(ALAssetsGroupEnumerationResultsBlock)enumerationBlock,您可以使用该方法指示要枚举的资产.

在你的情况下,它只是最后一个所以设置indexSet到[NSIndexSet indexSetWithIndexesInRange:NSMakeRange([group numberOfAssets]-1, [group numberOfAssets])哪个组是你的ALAssetsGroup.

正如@mithuntnt所提到的,你可以使用照片库来获取ALAssetsGroup [[assetsLibrary] enumerateGroupsWithTypes:ALAssetsGroupAlbum usingBlock:^(ALAssetsGroup *group, BOOL *stop)