           }
         }
     }
-    
   }
 }
 

      return cell
    }
    
    let asset = fetchResult[indexPath.item]
    cachingImageManager.requestImage(
      for: asset,
      targetSize: cellSize,
      contentMode: .aspectFill,
      options: nil) { [cell] result, info in
        
        cell.photoImageView.image = result
        
    }
    
    cell.backgroundColor = .red

  open var space: CGFloat = 2
  
  public lazy var fetchResult: PHFetchResult = { () -> PHFetchResult<PHAsset> in
    let collections = PHAssetCollection.fetchAssetCollections(with: .smartAlbum, subtype: .albumMyPhotoStream, options: nil)
    guard let collection = collections.firstObject else {
      return PHAsset.fetchAssets(with: .image, options: nil)
    }
    
    let options = PHFetchOptions()
    options.predicate = NSPredicate(format: "mediaType = %d", PHAssetMediaType.image.rawValue)
    let fetchResult = PHAsset.fetchAssets(in: collection, options: options)
    
    return fetchResult
  }()
  
  public lazy var cachingImageManager = PHCachingImageManager.default() as! PHCachingImageManager
  
  public var previousPreheatRect: CGRect = .zero
  
