Photos.프레임워크에서 사진 라이브러리에서 최신 사진을 얻다
여기 iOS 포토스예요.프레임워크를 사용하여 사진 라이브러리에서 최신 사진을 얻는 방법을 소개합니다.
샘플 코드
var fetchResult = PHAssetCollection.fetchAssetCollectionsWithType(
.SmartAlbum,
subtype: .SmartAlbumUserLibrary,
options: nil
)
guard let assetCollection = fetchResult.firstObject as? PHAssetCollection else {
return
}
let options = PHFetchOptions()
options.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: false)]
fetchResult = PHAsset.fetchAssetsInAssetCollection(assetCollection, options: options)
guard let latestAsset = fetchResult.firstObject as? PHAsset else {
return
}
// latestAsset を使う
해설
먼저
PHAssetCollection
의fetchAssetCollectionsWithType:subtype:options:
방법으로 사진의 소장품을 얻는다.샘플 코드
type
에 .SmartAlbum
, subtype
에 .SmartAlbumUserLibrary
가 지정되어 있기 때문에 이른바'카메라 볼륨'에서 사진을 가져와야 한다.다른 앨범에서 가져오려면 이
type
와 subtype
의 조합을 변경해야 합니다.조합에 대한 참조: (iOS 8.1) 포토키트를 통해 다양한 앨범 얻기
var fetchResult = PHAssetCollection.fetchAssetCollectionsWithType(
.SmartAlbum,
subtype: .SmartAlbumUserLibrary,
options: nil
)
guard let assetCollection = fetchResult.firstObject as? PHAssetCollection else {
return
}
그리고 PHAsset
의fetchAssetsInAssetCollection:options:
에서 소장품에서 사진을 얻습니다.이때
PHFetchOptions
의 sortDiscriptor
에 설명자를 설정하면 어떤 순서로 사진을 가져올지 지정할 수 있습니다.샘플 코드에서 사진을 만드는 날에 순서를 낮추도록 지정했습니다.
그리고 결과를 얻는 최초의 요소를 찾아낸다. 그것이 바로 최신 사진이다.
let options = PHFetchOptions()
options.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: false)]
fetchResult = PHAsset.fetchAssetsInAssetCollection(assetCollection, options: options)
guard let latestAsset = fetchResult.firstObject as? PHAsset else {
return
}
// latestAsset を使う
Reference
이 문제에 관하여(Photos.프레임워크에서 사진 라이브러리에서 최신 사진을 얻다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/questbeat/items/f210b28cc9f65b0b26c5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)