画像をダウンロードしてアプリのデータベースに保存するコードを実装していますが、
オブジェクトの配列があり、各オブジェクトには画像の URL とその他の情報が含まれています。画像をダウンロードするには、クラス ライブラリ AFImageRequestOperation.h AFNetworking を使用しています。
私のコードはデータをダウンロードしてデータベースに保存しますが、どの画像がダウンロードされるかをユーザーに通知する必要があります。は配列内にありますが、AFImageRequestOperation が非同期でダウンロードするため、アイテム 4 は最初のアイテムの前にダウンロードできます。
要するに、前のダウンロードが完了したときに、次のダウンロードのために制御して解放するだけです。
オブジェクトの配列を実行し、各位置の関数を呼び出す for があります。関数には次のコードがあります。
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:[arrImagem valueForKey:@"urlimagem"]]];
AFImageRequestOperation *operation = [AFImageRequestOperation imageRequestOperationWithRequest:request imageProcessingBlock:nil success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image){
Imagens *imagem = (Imagens *)[NSEntityDescription insertNewObjectForEntityForName:@"IMAGENS" inManagedObjectContext:managedObjectContext];
// Save Image
NSData *imageData = UIImageJPEGRepresentation(image, 90);
[imagem setCategoria:cat];
[imagem setTitulo:[arrImagem valueForKey:@"titulo"]];
[imagem setDescricao:[arrImagem valueForKey:@"descricao"]];
[imagem setImagem:imageData];
NSError *error;
if(![managedObjectContext save:&error]){
NSLog(@"houve um erro muito grave");
//return false;
}else{
NSLog(@"Salvou imagem");
}
}failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error){
NSLog(@"%@", [error localizedDescription]);
}];
[operation start];
私の質問が非常に明確かどうかはわかりませんが、基本的に私の質問はこのリンクに似ています