Как отсортировать ниже NSDictionary базы по ключам даты NSString?
Как мне отсортировать ниже NSSDictionary
на основе ключей, которые являются датами в NSString
Формат?
Printing description of dictMessageWithDate:
{
"06:10:2015" = (
"<ChatMessage: 0x78e108c0>"
);
"25:09:2015" = (
"<ChatMessage: 0x78fe8740>",
"<ChatMessage: 0x78ff5e50>",
"<ChatMessage: 0x78ff58b0>",
"<ChatMessage: 0x790205c0>",
"<ChatMessage: 0x7901ee00>",
"<ChatMessage: 0x79025990>",
"<ChatMessage: 0x7901f190>",
"<ChatMessage: 0x78faab50>",
"<ChatMessage: 0x78ff8ff0>",
"<ChatMessage: 0x78ff9860>",
"<ChatMessage: 0x78ffa1c0>",
"<ChatMessage: 0x78ffa490>",
"<ChatMessage: 0x78ff6810>",
"<ChatMessage: 0x78f98720>",
"<ChatMessage: 0x78f99790>",
"<ChatMessage: 0x78f42eb0>"
);
"28:09:2015" = (
"<ChatMessage: 0x78ffad90>"
);
"29:09:2015" = (
"<ChatMessage: 0x78ff1de0>",
"<ChatMessage: 0x78edad20>",
"<ChatMessage: 0x78e7a9d0>"
);
"30:09:2015" = (
"<ChatMessage: 0x78ec3ac0>"
);
}
1 ответ
Я бы порекомендовал реорганизацию:
- Поместить дату отправки собственности на
ChatMessage
(@property NSDate *dateSent
). У него уже должен быть один, так как это важное свойство сообщения. - Храните сообщения чата в
NSArray
, который является упорядоченным классом коллекции. Сортировать сообщения чата, как это:
NSSortDescriptor *dateDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"dateSent" ascending:YES]; NSArray *sorted = [unsorted sortedArrayUsingDescriptors:@[dateDescriptor]];