     }
     
     private func fetchAssets() {
+        self.assets = [PHAsset]()
+        
         let options = PHFetchOptions()
         options.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: false)]
         

        requestOptions.deliveryMode = .FastFormat
        
        result.enumerateObjectsUsingBlock { asset, _, stop in
            defer {
                if self.assets.count > fetchLimit {
                    stop.initialize(true)
                }
            }
            
            if let asset = asset as? PHAsset {
                self.imageManager.requestImageDataForAsset(asset, options: requestOptions) { data, _, _, info in
                    if data != nil {
                        self.assets.append(asset)
                        self.prefetchImagesForAsset(asset)
                    }
                }
            }
        }
    }
    
    private func prefetchImagesForAsset(asset: PHAsset) {

        
        options.predicate = NSPredicate(format: "mediaType = %d", PHAssetMediaType.Image.rawValue)
        
        let fetchLimit = 100
        if #available(iOS 9, *) {
            options.fetchLimit = fetchLimit
        }
