2017-12-01 1 views
0

, 나는 장치에서 비어 있지 않은 스마트 앨범의 컬렉션을 가져 오기 위해 노력하고 있어요 :가져 오기 비어 스마트 앨범

let smartAlbumOptions = PHFetchOptions() 
    smartAlbumOptions.predicate = NSPredicate(format: "estimatedAssetCount > 0") 
    smartAlbums = PHAssetCollection.fetchAssetCollections(with: .smartAlbum, subtype: .albumRegular, options: smartAlbumOptions) 

이것은 내가 많은 예에서 사용되는 본 적이 패러다임 그러나 .smart 앨범을 지정하지 마십시오.

<PHFetchResult: 0x1c40fce00> count=0 

술어는 "estimatedAssetCount> = 0"인 경우, 페치 반면 반환 모든 스마트 앨범을 빈하고, 그렇지 않으면 문제는 estimatedAssetCount> 0 술어가 항상 0 결과를 반환한다는 것입니다. 내가 놓친 것이 스마트 앨범과 관련이 있습니까?

답변

0

Apple의 문서에 따르면이 estimatedAssetCount은 정확하지 않을 수 있으며 사용할 수없는 경우에는 NSNotFound이 반환됩니다. 나는 이것이 당신에게 일어나는 일이라고 생각합니다. 이 경우 Apple의 문서 제안을 계속 진행하고 모든 스마트 앨범을 가져온 다음 (현재 정확한) count 속성에 따라 필터를 가져 와서 필터링합니다.

+0

사실, estimatedAssetCount가 정확하지 않지만 언제나 0을 반환한다는 것은 너무나 불필요한 것으로 보입니다. 반환 된 경우 NSNotFound는 0이 아닌 값으로 평가됩니다. 많은 사람들이이 기술을 사용해 왔지만, 스마트 앨범에서는 깨진 것 같습니다. 물론 콜렉션도 변경할 수 없으므로 포스트 가져 오기 필터가 작동하지 않을 것이라고 생각하지만 시도해 볼 것이고 빠른 답장을 보내 주셔서 감사합니다! – BlueskyMed

+0

당신은 NSNotFound가 0이 아닌 것으로 평가 될 것이라는 점에서 옳습니다.하지만 0으로 평가되지는 않을 것입니다. 항상 제로를 돌려주는 것이 이상하게 보일 것이라는 것에 동의하지만 어쩌면 똑똑한 앨범이 방법. – creeperspeak

+0

프로세스에 머리를 두드리는 일이 없다면 애플도되지 않을 것입니다. – BlueskyMed

관련 문제