gpt4 book ai didi

iphone - ALAssets 组枚举 : how to check for completion?

转载 作者:可可西里 更新时间:2023-11-01 03:42:50 25 4
gpt4 key购买 nike

ALAssets 使用单独的线程来管理枚举,我必须知道枚举何时终止。

组枚举的 block 原型(prototype)是:

typedef void (^ALAssetsLibraryGroupsEnumerationResultsBlock)(ALAssetsGroup *group, BOOL *stop);

如何添加完成 block ?

最佳答案

我找到了一个仅部分记录的解决方案。

当组枚举终止时,将调用 ALAssetsLibraryGroupsEnumerationResultsBlock group=nil。所以你可以这样写:

void (^groupsEnumerator)(ALAssetsGroup *,BOOL *) = ^(ALAssetsGroup *group, BOOL *stop){ 
if (group != nil) {
[group enumerateAssetsUsingBlock:assetsEnumerator];

}else {
NSLog(@"group enumeration terminated");
}
};

相同的解决方案对 Assets 枚举有效(这没有记录 -.- )

 void (^assetsEnumerator)(ALAsset *,NSUInteger,BOOL*) = ^(ALAsset *result, NSUInteger index, BOOL *stop){    
if (result !=nil) {
//do something with result asset

}else {
NSLog(@"Assets enumeration terminated");
}
};

关于iphone - ALAssets 组枚举 : how to check for completion?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5818486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com