Tôi sử dụng này để có được chỉ là một vài album nhưng bạn có thể tìm thêm:
private func setupPhotos() {
let fetchOptions = PHFetchOptions()
let smartAlbums = PHAssetCollection.fetchAssetCollectionsWithType(.SmartAlbum, subtype: .Any, options: fetchOptions)
let topLevelfetchOptions = PHFetchOptions()
let topLevelUserCollections = PHCollectionList.fetchTopLevelUserCollectionsWithOptions(topLevelfetchOptions)
let allAlbums = [topLevelUserCollections, smartAlbums]
for i in 0 ..< allAlbums.count {
let result = allAlbums[i]
result.enumerateObjectsUsingBlock { (asset, index, stop) -> Void in
if let a = asset as? PHAssetCollection {
let opts = PHFetchOptions()
if #available(iOS 9.0, *) {
opts.fetchLimit = 1
}
let ass = PHAsset.fetchAssetsInAssetCollection(a, options: opts)
if let _ = ass.firstObject {
let obj = MYSpecialAssetContainerStruct(asset: a)
self.data.append(obj)
}
}
if i == (allAlbums.count - 1) && index == (result.count - 1) {
self.data.sortInPlace({ (a, b) -> Bool in
return a.asset.localizedTitle < b.asset.localizedTitle
})
self.tableView.reloadData()
}
}
}
}
EDIT: Điều này sẽ giúp bạn có được PHAssetCollections
của album, sau đó tôi đặt chúng trong các tế bào mà có phương pháp này để có hình thu nhỏ hình ảnh mới nhất từ album.
private func downloadAndSetImage(asset: MYSpecialAssetContainerStruct) {
if asset.thumbnail == nil {
let imageRequestOptions = PHImageRequestOptions()
imageRequestOptions.networkAccessAllowed = false
imageRequestOptions.synchronous = true
imageRequestOptions.deliveryMode = .HighQualityFormat
PHImageManager.defaultManager().requestImageForAsset(
asset.asset,
targetSize: self.targetImageSize(),
contentMode: .AspectFit,
options: imageRequestOptions,
resultHandler: { (img, info) -> Void in
asset.thumbnail = img
self.albumImage.image = asset.thumbnail
})
} else {
albumImage.image = asset.thumbnail
}
}
Bạn có thể xem câu trả lời từ đây: http://stackoverflow.com/questions/32169185/how-to-fetch-all-images-from-custom-photo-album-swift – fatihyildizhan
tôi cần để có được album đầu tiên không phải hình ảnh trong album. Trong trường hợp của tôi, tôi không biết tên album –
Khung ảnh sẽ hoàn thành nó cho bạn. Bạn có thể tìm nạp album, ảnh, v.v. mà không cần sử dụng các phương thức truyền thống. Khá cần thiết để xây dựng bộ chọn ảnh của riêng bạn – NSNoob