2016-07-26 8 views
0

카메라 롤에서 배열로 모든 것을 추가하는 방법이 있습니까?카메라 롤에서 모든 사진 및 비디오를 배열에 삽입하는 방법은 무엇입니까?

+2

원하는 배열은 너무 커서 메모리에 살 수는 없습니다. –

+0

오 ok, 그렇게 생각하지 않았습니다. 모든 사진 및 비디오에 액세스하는 가장 좋은 방법은 무엇입니까? – 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