gpt4 book ai didi

ios - 需要有关 ALAssetsLibrary 枚举的帮助

转载 作者:行者123 更新时间:2023-11-28 22:09:05 24 4
gpt4 key购买 nike

[aLib  enumerateGroupsWithTypes:ALAssetsGroupAll usingBlock:assetsGroupEnumerationBlock failureBlock:failureBLock];

此方法枚举每个组,我只想枚举第一组然后我想打破它。我的目的是请求允许 iOS 首次弹出。我没有做任何额外的工作,我在通知和触发其他所需功能的 block 中有通知。但是多个组枚举多次触发通知,我想停止。

这是我的带停止参数的枚举 block

void(^assetsGroupEnumerationBlock)(ALAssetsGroup*, BOOL*) = ^(ALAssetsGroup *groups, BOOL *stop) {
*stop = YES;
NSDictionary *alAuthDict = @{@"alAssetsAuthStatusDictKey" : [NSString stringWithFormat:@"%ld",[self getALAssetAuthorizationStatus]]};
[[NSNotificationCenter defaultCenter]postNotificationName:@"alAssetsStatusNotificationName" object:nil userInfo:alAuthDict];
};

但是通知被调用了两次,我在控制台中看到了两次 nslog

最佳答案

使用stop参数:

[lib enumerateGroupsWithTypes:ALAssetsGroupAll usingBlock:^(ALAssetsGroup *group, BOOL *stop) {
*stop = YES;
if (group) {
NSDictionary *alAuthDict = @{@"alAssetsAuthStatusDictKey" : [NSString stringWithFormat:@"%ld",[self getALAssetAuthorizationStatus]]};
[[NSNotificationCenter defaultCenter]postNotificationName:@"alAssetsStatusNotificationName" object:nil userInfo:alAuthDict];
}
} failureBlock:^(NSError *error) {
// denied
}];

关于ios - 需要有关 ALAssetsLibrary 枚举的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23284501/

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