如何根据 NSString
格式的日期键对下面的 NSSDictionary
进行排序?
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>"
);
}
最佳答案
我建议重组:
- 在
ChatMessage
(@property NSDate *dateSent
) 上放置一个date sent 属性。它应该已经有了一个,因为这是消息的一个重要属性。 - 将聊天消息保存在
NSArray
中,这是一个有序集合类。 像这样对聊天消息进行排序:
NSSortDescriptor *dateDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"dateSent" ascending:YES]; NSArray *sorted = [unsorted sortedArrayUsingDescriptors:@[dateDescriptor]];
关于ios - 如何根据 NSString 日期键在 NSDictionary 下方排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33170106/