2016-07-26 1 views
0

Есть ли способ добавить все, что от вашего рулона камеры к массиву?Как вставить все фото и видео с камеры в массив?

+2

Обратите внимание, что массив, который вы хотели, может быть слишком большим, чтобы жить в памяти –

+0

О, хорошо, не думал об этом. Каков наилучший способ получить доступ ко всем фотографиям и видео? – mafioso

+0

Возможно, 'UIImagePickerController' может удовлетворить ваши потребности? –

ответ

0
import Photos 

class MyVC: UIViewController 
{ 
var images:NSMutableArray! // Array for storing images 


func fetchPhotos() { 
    images = NSMutableArray() 
    self.fetchPhotoAtIndexFromEnd(0) 
} 


func getImageAtIndex(index:Int) { 

    let imgManager = PHImageManager.defaultManager() 


    var requestOptions = PHImageRequestOptions() 
    requestOptions.synchronous = true // if just return thumbnail not img 

    // optionally sort the images by creation date 
    var fetchOptions = PHFetchOptions() 
    fetchOptions.sortDescriptors = [NSSortDescriptor(key:"creationDate", ascending: false)] 

    if let fetchResult: PHFetchResult = PHAsset.fetchAssetsWithMediaType(PHAssetMediaType.Image, options: fetchOptions) { 


     if fetchResult.count > 0 { 
      imgManager.requestImageForAsset(fetchResult.objectAtIndex(fetchResult.count - 1 - index) as PHAsset, targetSize: view.frame.size, contentMode: PHImageContentMode.AspectFill, options: requestOptions, resultHandler: { (image, _) in 

       // Add img to images array 
       self.images.addObject(image) 


       if index + 1 < fetchResult.count { 
        self.fetchPhotoAtIndexFromEnd(index + 1) 
       } else { 

        println("Completed array: \(self.images)") 
       } 
      }) 
     } 
    } 
} 
+0

Что такое fetchPhotoAtIndexFromEnd? – mafioso