Я рассмотрел некоторые вопросы, такие как Sort NSDates inside NSDictionary inside NSArray?, которые объясняют, как сортировать массив словарей. Но я не нашел объяснения того, как блок NSComparator действительно работает, и мне действительно интересно.Что происходит за кулисами в блоке NSComparator?
Пример кода (сверху-сшитый Q)
NSComparator sortByDate = ^(id dict1, id dict2) {
NSDate* n1 = [dict1 objectForKey:@"Date"];
NSDate* n2 = [dict2 objectForKey:@"Date"];
return [n1 compare:n2];
};
[self.cellArray sortUsingComparator:sortByDate];
Где два входа блока поступают из? Как итерация, которая должна потребоваться для сортировки коллекции, вступает в игру? И т.д. Спасибо!
А, я вижу, метод sortUsingComparator выполняет все «за кулисами», а компаратор просто поставляет именно то, что подразумевает его название. Имеет смысл. благодаря – mkc842