Je voudrais attendre que ce code soit exécuté avant de continuer mais comme ces blocs sont appelés de façon assynchrone je ne sais pas comment faire ???Attendez que les blocs assetForURL soient complétés
NSURL *asseturl;
NSMutableArray *tmpListAsset = [[NSMutableArray alloc] init];
ALAssetsLibrary *library = [[[ALAssetsLibrary alloc] init] autorelease];
NSMutableArray *objectsToRemove = [[NSMutableArray alloc] init];
for (NSDictionary *dico in assetsList) {
asseturl = [NSURL URLWithString:[dico objectForKey:@"assetUrl"]];
NSLog(@"asset url %@", asseturl);
// Try to load asset at mediaURL
[library assetForURL:asseturl resultBlock:^(ALAsset *asset) {
// If asset doesn't exists
if (!asset){
[objectsToRemove addObject:dico];
}else{
[tmpListAsset addObject:[asseturl absoluteString]];
NSLog(@"tmpListAsset : %@", tmpListAsset);
}
} failureBlock:^(NSError *error) {
// Type your code here for failure (when user doesn't allow location in your app)
}];
}
Ceci est une réponse de lien seulement et devrait être améliorée en incluant le code approprié de l'article source, et la modernisation (puisque cette réponse a maintenant 4 ans). – brandonscript
Et le lien est cassé ... – diegomen