La aplicación se bloquea cuando se cargan varias imágenes del server utilizando AFNetworking.

He integrado la biblioteca AFNetworking en mi aplicación para download imágenes de una URL y la aplicación se bloquea cuando cargamos varias imágenes.

Cuando analizo mi código usando la list de informes de locking de Xcode (Xcode -> Ventana -> Organizador -> Bloqueos -> Nuestra aplicación), muestra un error en la biblioteca AFNetworking para esta línea de código:

Clase : UIImageView+AFNetworking

Nombre del método : setImageWithURLRequest

Línea de código : [[[self class] af_shanetworkingImageRequestOperationQueue] addOperation:self.af_imageRequestOperation];

¿Alguien puede ayudarme a resolver este problema?

Prueba el siguiente código

  NSURL *url = [NSURL URLWithString:@"YourImageURL"]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; UIImage *placeholderImage = [UIImage imageNamed:@"placeholder"]; __weak UIImageView *weakImageView = yourImageView; [weakImageView setImageWithURLRequest:request placeholderImage:placeholderImage success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) { weakImageView.image = image; } failure:nil]; 

Existen muchas testings unitarias para la descarga de imágenes y una nueva architecture en la twig 3.0.0 con testings adicionales que cubren la descarga de múltiples imágenes.

https://github.com/Alamofire/Alamofire instalar este pod

Pruebe el siguiente código para cargar varias imágenes en el código del server:

  Alamofire.upload( .POST, urlString, multipartFormData: { multipartFormData in for image in images { if let imageData = UIImageJPEGRepresentation(image, 0.1) { multipartFormData.appendBodyPart(data: imageData, name: "file", fileName: "file.jpeg", mimeType: "image/jpeg") } } }, encodingCompletion: { encodingResult in switch encodingResult { case .Success(let upload, _, _): upload.responseJSON(completionHandler: { (response) -> Void in if response.result.error != nil { print("Something is wrong while uploading images.") } else { } }) case .Failure(let encodingError): print(encodingError) } } )