РЕДАКТИРОВАТЬ: Лучший ответ
Если это не сработает, вам придется написать свой собственный блок сравнения и получить даты для сравнения вручную: (*
[cacheContents sortUsingComparator:^ (NSURL *a, NSURL *b) {
// get the two dates
id da = [[a resourceValuesForKeys:[NSArray arrayWithObject:NSURLCreationDateKey] error:nil] objectForKey:NSURLCreationDateKey];
id db = [[b resourceValuesForKeys:[NSArray arrayWithObject:NSURLCreationDateKey] error:nil] objectForKey:NSURLCreationDateKey];
// compare them
return [da compare:db];
}];
(Тот же отказ от ответственности по-прежнему применяется, но я даже не уверен, что он скомпилируется;) - хотя вы поняли!)
Вот мой первый ответ (включен сюда для потомковно в основном это просто показывает, насколько важно правильно прочитать вопрос:)
Это потому, что вы получаете массив NSURL
объектов;у них нет свойства NSURLCreationDateKey
.
Попробуйте это (отказ от ответственности - это не на 100% будет работать)
NSString *key = [NSString stringWithFormat:@"fileAttributes.%@", NSURLCreationDateKey];
NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:key ascending:YES];
Ваш ключ для сортировки является свойством словаря fileAttributesчто, в свою очередь, является собственностью вашего перечислителя.