title: iOS showing Image from ALAsset in UITableView
body: <p>I have a db where items are stored. These items can be different kinds of type like text, videos and images. When the View is loaded I fetch these items from the DB and I show them in a UITableView. The problem I am facing is related to show the images in the table view. Basically in the DB I store the ALAsset link related to the picture and from it I try to get its image using this code:</p>
  
  <pre><code>- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
  
   //...Other Code
  
    else if ([object isMemberOfClass:[Picture class]]){
  
              //Get a reusable cell
              cell = [tableView dequeueReusableCellWithIdentifier:@"pictureCellIdentifier"];
  
              // [self performSelectorInBackground:@selector(performAsset:) withObject:dict];
  
              ALAssetsLibraryAssetForURLResultBlock resultblock = ^(ALAsset *myasset)
              {
                  ALAssetRepresentation *rep = [myasset defaultRepresentation];
                  CGImageRef iref = [rep fullResolutionImage];
                  if (iref) {
                      ((PictureViewCell *)cell).placeHolderImageView.hidden = YES;
                      ((PictureViewCell *)cell).pictureImageView.image =  [UIImage imageWithCGImage:[rep fullResolutionImage]  scale:[rep scale] orientation:(UIImageOrientation)[rep orientation]];
  
                  }
              };
  
  
              ALAssetsLibraryAccessFailureBlock failureblock  = ^(NSError *myerror)
              {
                   [Utility showAlertViewWithTitle:@"Location Error" message:@"You must activate Location Services to access the photo" cancelButtonTitle:@"Dismiss"];
  
              };
  
              ALAssetsLibrary* assetslibrary = [[ALAssetsLibrary alloc] init];
              [assetslibrary assetForURL:[NSURL URLWithString:((Picture *)objectInArray).imagePath]
                             resultBlock:resultblock
                            failureBlock:failureblock];
  
           //Set the background for the cell
              cell.backgroundView = iv;
  
          }
  
   //...Other code
  
  }
  </code></pre>
  
  <p>The problem is that when you slide through the cell the method gets called and the app is really slow. So I guess there are better ways to achieve what I'm trying to do. I also tried to perform that code using <code>performselectorInBackground:</code>. Performance seem better but It takes more time to fetch the image.</p>
  
  <p>Any helps would be really appreciated.</p>
  
  <p>Thanks!</p>