Sto provando a creare un semplice raccoglitore di foto che ha due opzioni per ora: Recenti e Preferiti. Quello che sto facendo è cercare di ottenere tutte le foto dal creationDate
, tuttavia questo sta restituendo le immagini nell'ordine sbagliato nella mia fonte di dati. Ci sono foto di anni fa all'inizio della fonte dei dati e foto che hanno meno di qualche minuto prima. Penso che il problema sia che devo prima dire al principale fetchResult l'ordinamento, ma non penso sia possibile: Unsupported sort descriptor in fetch options: (creationDate, ascending, compare:
PHFetchResult ottiene tutte le foto e ordina per data incoerente
Apprezzerei qualsiasi aiuto offerto. Codice:
@property (nonatomic, strong) NSMutableOrderedSet *recentsDataSource;
@property (nonatomic, strong) NSMutableOrderedSet *favoritesDataSource;
- (void)setup
{
PHFetchResult *fetchResult = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeSmartAlbum | PHAssetCollectionTypeAlbum subtype:PHAssetCollectionSubtypeAny options:nil];
for (PHAssetCollection *sub in fetchResult)
{
PHFetchOptions *fetchOptions = [[PHFetchOptions alloc]init];
fetchOptions.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:YES]];
PHFetchResult *assetsInCollection = [PHAsset fetchAssetsInAssetCollection:sub options:fetchOptions];
for (PHAsset *asset in assetsInCollection)
{
[self.recentsDataSource addObject:asset];
if (asset.isFavorite)
{
[self.favoritesDataSource addObject:asset];
}
}
}
}
PHFetchResult non è conforme alla sequenza di protocollo, quindi non siamo in grado di utilizzarlo all'interno per .. in dichiarazione. – saiday