Sorting photos exactly like native photoapp using PhotoKit Sorting photos exactly like native photoapp using PhotoKit ios ios

Sorting photos exactly like native photoapp using PhotoKit


I just found out that to copy the exact behaviour of the native photopicker the sollution was to remove my custom sortDescriptiorand just use the PHFetchResult with default behaviour. It seeme so obvious now after discovering that.


swift 3

let fetchOptions = PHFetchOptions()    let sortOrder = [NSSortDescriptor(key: "creationDate", ascending: false)]    fetchOptions.sortDescriptors = sortOrder


As @knutigro mentioned the solution is to use PHFetchResult with the default options i.e. by passing in nil for the options parameter:

var fetchResult: PHFetchResult!override func viewDidLoad() {    super.viewDidLoad()    fetchResult = PHAsset.fetchAssetsWithMediaType(.Image, options: nil)}

But the next step is reversing the sort results so that the most recent image is first. There isn't an easy way to reverse the results in PHFetchResult so I used the following method:

func assetAtIndex(index: Int) -> PHAsset {    // Return results in reverse order    return fetchResult[fetchResult.count - index - 1] as! PHAsset}